mybatis-spring整合笔记

来源:互联网 发布:游族网络天使纪元 编辑:程序博客网 时间:2024/06/10 14:44

1.1原始Dao开发的整合

开发步骤:
1、mybatis的配置文件sqlmapConfig.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>  <!-- Mappers的位置 -->  <mappers>  <mapper resource="com/zhfy/project/dao/UserMapper.xml"/>  </mappers>  </configuration>
2、编写spring的配置文件
(1)数据库连接及连接池

(2)事务管理(暂时可以不配置)

(3)sqlsessionFactory对象,配置到spring容器中

(4)mapper代理对象或者是dao实现类配置到spring容器中。

<?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:tx="http://www.springframework.org/schema/tx"         xmlns:context="http://www.springframework.org/schema/context"         xsi:schemaLocation="http://www.springframework.org/schema/beans                              http://www.springframework.org/schema/beans/spring-beans.xsd                             http://www.springframework.org/schema/tx                              http://www.springframework.org/schema/tx/spring-tx.xsd                             http://www.springframework.org/schema/aop                              http://www.springframework.org/schema/aop/spring-aop.xsd                             http://www.springframework.org/schema/context                              http://www.springframework.org/schema/context/spring-context.xsd">                                                                      <!-- 加载配置文件 -->               <context:property-placeholder location="db.properties"/>                <!--1、 数据库连接池 -->               <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">                    <property name="driverClassName" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="maxActive" value="10" /><property name="maxIdle" value="5" />               </bean>                 <!-- 3、 -->               <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">                 <property name="dataSource" ref="dataSource" />                 <!-- 加载mybatis的全局配置文件 -->                 <property name="configLocation" value="classpath:SqlMapConfig.xml" />               </bean>                <!-- 4、 -->                <bean id="userDao" class="com.zhfy.project.dao.impl.UserDaoImpl">                  <property name="sqlSessionFactory" ref="sqlSessionFactory" ></property>                </bean>                           </beans>
3、编写dao
public class UserDaoImpl extends SqlSessionDaoSupport implements IUserDao{public User findUserById(Integer id) {// TODO Auto-generated method stubreturn this.getSqlSession().selectOne("test.findUserById",id);} }
dao需要继承spring的提供的SqlSessionDaoSupport
4、测试
@Test    public void test1(){    ApplicationContext ac  = new ClassPathXmlApplicationContext("applicationContext.xml");    IUserDao userDao = ac.getBean(IUserDao.class);    User user = userDao.findUserById(1);    System.out.println(user);    }

1.2 Mapper的动态代理开发

开发步骤:
1、mybatis的配置文件sqlmapConfig.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>  <!-- Mappers的位置 -->  <mappers>  <mapper resource="com/zhfy/project/dao/UserMapper.xml"/>  </mappers>  </configuration>
2、编写spring的配置文件
(1)数据库连接及连接池

(2)事务管理(暂时可以不配置)

(3)sqlsessionFactory对象,配置到spring容器中

(4)mapper代理对象或者是dao实现类配置到spring容器中。

<?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:tx="http://www.springframework.org/schema/tx"         xmlns:context="http://www.springframework.org/schema/context"         xsi:schemaLocation="http://www.springframework.org/schema/beans                              http://www.springframework.org/schema/beans/spring-beans.xsd                             http://www.springframework.org/schema/tx                              http://www.springframework.org/schema/tx/spring-tx.xsd                             http://www.springframework.org/schema/aop                              http://www.springframework.org/schema/aop/spring-aop.xsd                             http://www.springframework.org/schema/context                              http://www.springframework.org/schema/context/spring-context.xsd">                                                                      <!-- 加载配置文件 -->               <context:property-placeholder location="db.properties"/>                <!--1、 数据库连接池 -->               <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">                    <property name="driverClassName" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="maxActive" value="10" /><property name="maxIdle" value="5" />               </bean>                 <!-- 3、 -->               <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">                 <property name="dataSource" ref="dataSource" />                 <!-- 加载mybatis的全局配置文件 -->                 <property name="configLocation" value="classpath:SqlMapConfig.xml" />               </bean>                              <bean class="org.mybatis.spring.mapper.MapperFactoryBean"><!--Mapper接口--><property name="mapperInterface" value="com.zhfy.project.dao.IUserDao"/><!--工厂--><property name="sqlSessionFactory" ref="sqlSessionFactory"/>  </bean>                            </beans>


3、编写mapper文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.zhfy.project.dao.IUserDao">  <select id="findUserById" parameterType="Integer" resultType="com.zhfy.project.pojo.User">    SELECT * FROM t_user WHERE ID= #{id}  </select></mapper>
mapper中的namespace要为对应接口


4、测试
@Test    public void test1(){    ApplicationContext ac  = new ClassPathXmlApplicationContext("applicationContext.xml");    IUserDao userDao = ac.getBean(IUserDao.class);    User user = userDao.findUserById(1);    System.out.println(user);    }

1.3扫描mapper动态代理开发

开发步骤:
1、mybatis的配置文件sqlmapConfig.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>  <!-- Mappers的位置 -->  <mappers>  <mapper resource="com/zhfy/project/pojo/UserMapper.xml"/>  </mappers>  </configuration>
2、编写spring的配置文件
(1)数据库连接及连接池

(2)事务管理(暂时可以不配置)

(3)sqlsessionFactory对象,配置到spring容器中

(4)mapper代理对象或者是dao实现类配置到spring容器中。

<?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:tx="http://www.springframework.org/schema/tx"         xmlns:context="http://www.springframework.org/schema/context"         xsi:schemaLocation="http://www.springframework.org/schema/beans                              http://www.springframework.org/schema/beans/spring-beans.xsd                             http://www.springframework.org/schema/tx                              http://www.springframework.org/schema/tx/spring-tx.xsd                             http://www.springframework.org/schema/aop                              http://www.springframework.org/schema/aop/spring-aop.xsd                             http://www.springframework.org/schema/context                              http://www.springframework.org/schema/context/spring-context.xsd">                                                                      <!-- 加载配置文件 -->               <context:property-placeholder location="db.properties"/>                <!--1、 数据库连接池 -->               <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">                    <property name="driverClassName" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="maxActive" value="10" /><property name="maxIdle" value="5" />               </bean>                 <!-- 3、 -->               <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">                 <property name="dataSource" ref="dataSource" />                 <!-- 加载mybatis的全局配置文件 -->                 <property name="configLocation" value="classpath:SqlMapConfig.xml" />               </bean>                             <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 指定扫描的基本包 --><property name="basePackage" value="com.zhfy.project.dao"/></bean>                           </beans>

3、编写mapper文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.zhfy.project.dao.IUserDao">  <select id="findUserById" parameterType="Integer" resultType="com.zhfy.project.pojo.User">    SELECT * FROM t_user WHERE ID= #{id}  </select></mapper>
mapper中的namespace要为对应接口


4、测试
@Test    public void test1(){    ApplicationContext ac  = new ClassPathXmlApplicationContext("applicationContext.xml");    IUserDao userDao = ac.getBean(IUserDao.class);    User user = userDao.findUserById(1);    System.out.println(user);    }




原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 绝地求生刺激战场电脑版满了怎么办 绝地求生手游模拟器注册上限怎么办 绝地求生电脑模拟器已达上限怎么办 三星s5锁屏密码忘了怎么办 字画装框的时候起褶皱怎么办 指甲油抹在手上不在指甲上怎么办 我把油画的布割破了怎么办 胜战本领怎么看、走上战场怎么办 胜战本领怎么看 走上战场怎么办 数码相机拍出的相片亮度太亮怎么办 国考照片错了怎么办招生办能改吗 国考英语准考证名字错了怎么办 玻尿酸打鼻子双眼间距好怪怎么办 喝咖啡后胃不舒服想吐怎么办 分期付款买的车不想还款了怎么办 考试时打小抄被同学发现怎么办 生完二胎计生办强制要求上环怎么办 没办二代身份证户口被注销怎么办 川航特价儿童票名字写错怎么办 川航机票名字错一个字怎么办 买飞机票名字打错了一个字怎么办 坐飞机耳朵聋了下飞机还痛怎么办 小孩咳嗽两个月了还不好怎么办 生完小孩肚子瘦不下来怎么办 胆子小一个人在家里都害怕怎么办 怀了双胞胎两个宝宝很挤怎么办 飞机无人陪护如果接机延误该怎么办 过年要坐火车回家 狗狗怎么办 一岁八个月宝宝小腿弯怎么办 2岁宝不愿意坐马桶拉屎怎么办 宝宝两岁多肺炎出院还老咳嗽怎么办 去外国机场买机票不会说外语怎么办 坐飞机不能带的物品办理托运怎么办 深圳外地户口儿童要办身份证怎么办 网上订票错写了护照号怎么办 国航 在智能火车票订飞机票订反了怎么办 办社保卡的时候填错地址怎么办 两个人住酒店只有一张身份证怎么办 农村社保卡信息错了说改不了怎么办 社保卡与原医保卡信息错误怎么办 学校发的社保卡丢了怎么办