MyBatis-Spring整合 注入SqlSessionTemplate
来源:互联网 发布:高速公路收费查询软件 编辑:程序博客网 时间:2024/05/22 14:57
SqlSessionTemplate
SqlSessionTemplate 是 MyBatis-Spring 的核心。 这个类负责管理 MyBatis 的 SqlSession, 调用 MyBatis 的 SQL 方法, 翻译异常。 SqlSessionTemplate 是线程安全的。
最终要的是让spring获取到SqlSessionTemplate然后注入给工具类,让工具类操作数据库
为了方便看,把所有文件都放一个文件夹里了。
总共是5个文件:
1.Mybatis.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL Map Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><mappers><mapper resource="bs/UserMapper.xml" /><!-- 连接配置文件 --></mappers></configuration>
2.UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="UserMapper"> <select id="insert" parameterType="Map" resultType="java.util.Map">INSERT INTO user(id) VALUES(#{id})</select><select id="findById" parameterType="int" resultType="java.util.Map">SELECT *FROM userWHERE id=#{id}</select><!-- <select id="findList" resultType="mybatis.User" parameterType="int">SELECT * FROM user <if test="_parameter!=null and _parameter!=' '">WHERE uid=#{_parameter}</if></select> --></mapper>
3.spring.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd "><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName"><value>org.gjt.mm.mysql.Driver</value></property><property name="url"><value>jdbc:mysql://localhost:3306/zdy?useUnicode=true&characterEncoding=UTF-8</value></property><property name="username"><value>root</value></property><property name="password"><value>1111</value></property></bean><!-- 获取会话工厂,并注入Mybatis,和dateSource数据库链接 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"></property><property name="configLocation" value="bs/Mybatis.xml"></property></bean><!-- 在会话工厂中取出SqlSessionTemplate这个对象 --> <bean id="sqlsessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"><constructor-arg index="0" ref="sqlSessionFactory" /></bean><!-- 把sqlsessionTemplate注入到UserMapper中去。UserMapper才能对数据进行操作 --><bean id="user" class="bs.UserImpl"><property name="sqlsession" ref="sqlsessionTemplate"></property></bean></beans>
4.UserImpl.java:操作数据库工具类
package bs;import java.util.List;import java.util.Map;import org.mybatis.spring.SqlSessionTemplate;public class UserImpl {//注入以后就可以直接使用sqlsessionprivate SqlSessionTemplate sqlsession;public void setSqlsession(SqlSessionTemplate sqlsession) {this.sqlsession = sqlsession;}//用sqlsession去操作数据库public void insert(Map user){sqlsession.insert("UserMapper.insert", user);}public void findById(int id){ sqlsession.selectOne("UserMapper.findById", id); System.out.println(sqlsession.selectOne("UserMapper.findById", id)); //因为输出值是一个map集合,所以打印一个map}}
5.Test.java
package bs;import java.util.Map;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("bs/spring.xml");UserImpl userImpl = (UserImpl)ctx.getBean("user");//固定格式 取出bean中创建的UserMapper对象userImpl.findById(1);}}
数据库内容
查询出来内容
阅读全文
0 0
- MyBatis-Spring整合 注入SqlSessionTemplate
- spring-mybatis整合-SqlSessionTemplate
- 通过 sqlSessionTemplate 整合 Spring 和 MyBatis 的方法
- mybatis spring配置SqlSessionTemplate使用
- Spring与mybatis的整合实践之SqlSessionTemplate持久化模板
- Spring与mybatis的整合实践之SqlSessionTemplate持久化模板详解
- Spring 整合 MyBatis,Mapper注入失败
- Mybatis(基于SqlSessionTemplate的实现) + Spring 练习实战
- spring整合mybatis,dao层类注入不进去
- spring mybatis 整合后mapper接口注入失败问题
- Mybatis -- Mybatis整合Spring
- 【Mybatis】Mybatis整合spring
- mybatis SqlSessionFactoryBean SqlSessionTemplate MapperScannerConfigurer
- Mybatis SqlSessionTemplate 源码解析
- mybatis 中的SqlSessionTemplate 理解
- Mybatis SqlSessionTemplate 源码解析
- Mybatis SqlSessionTemplate 源码解析
- Mybatis SqlSessionTemplate 源码解析
- 西瓜书《机器学习》阅读笔记6——Chapter3_公式(3.27)的推导过程
- Python操作MySQL数据库
- CodeForces
- 企业微信内自创建app 获取用户信息问题
- 设计模式之创建型模式(2)--工厂模式
- MyBatis-Spring整合 注入SqlSessionTemplate
- GPU异构编程模型
- Struts2上传文件的最大Size的设置
- HDU 2005
- Android TextView 改变字体方法
- linux中的strip命令简介------给文件脱衣服
- jQuery
- 毕业设计(商城系统)
- 常见BUG Software caused connection abort: socket write error