经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MyBatis » 查看文章
Spring整合Mybatis的全过程
来源:jb51  时间:2021/6/28 12:41:52  对本文有异议

1.Spring配置文件

1.1配置数据库连接池

  1. <!--读取文件-->
  2. <util:properties id="config" location="classpath:Config/db.properties"/>
  3. <!--配置数据库连接池-->
  4. <bean id="source" class="org.apache.commons.dbcp.BasicDataSource">
  5. <property name="driverClassName" value="#{config.drivername}"/>
  6. <property name="url" value="#{config.url}"/>
  7. <property name="username" value="#{config.name}"/>
  8. <property name="password" value="#{config.password}"/>
  9. <property name="maxActive" value="#{config.maxActive}"/>
  10. <property name="maxWait" value="#{config.maxWait}"/>
  11. </bean>

1.2配置数据源工厂

  1. <!--配置sqlsessionFactoryBean-->
  2. <bean id="sqlsession" class="org.mybatis.spring.SqlSessionFactoryBean">
  3. <!--配置映射文件(操作sql语句的文件)的位置-->
  4. <property name="mapperLocations" value="classpath:mapper/user-mapper.xml"/>
  5. <!-- 将连接池注入到该数据源属性中-->
  6. <property name="dataSource" ref="source"/>
  7. </bean>

1.3配置MapperScannerConfigurer

​ 配置MapperScannerConfigurer,扫描指定包及其子包下面的所有Mapper映射器,然后调用SqlSession的getMapper()方法,将该映射器纳入到spring管理,默认的id是映射器首字母小写的接口名。

  1. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  2. <property name="basePackage" value="fyjz.com.springMybatis.mapper"/>
  3. </bean>

2.书写映射器(接口)

  1. package fyjz.com.springMybatis.mapper;
  2.  
  3. import java.util.List;
  4. import java.util.Map;
  5.  
  6. import org.apache.ibatis.annotations.Param;
  7.  
  8. import fyjz.com.springMybatis.entry.User;
  9.  
  10. public interface UserMapper {
  11. //用户登录
  12. int addUser(User user);
  13. //根据用户id查询用户数据
  14. User selectUserById(int id);
  15. //查询所有用户数据
  16. List<User> findAllUser();
  17. //根据用户名和密码查询用户数据,返回map集合
  18. Map<String,Object> findUserByNameAndPwd(@Param("name")String name,@Param("pwd")String pwd);
  19. }

3.书写user-mapper.xml映射文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
  3. "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
  4. <!--映射文件(映射器的全名:包名.类名)-->
  5. <mapper namespace="fyjz.com.springMybatis.mapper.UserMapper">
  6. <!--实体类和数据库字段名不一致,完成字段名的对应-->
  7. <resultMap type="fyjz.com.springMybatis.entry.User" id="rm">
  8. <result property="id" column="id"/>
  9. <result property="userName" column="user_name"/>
  10. <result property="userPwd" column="user_pwd"/>
  11. <result property="money" column="money"/>
  12. <result property="age" column="age"/>
  13. </resultMap>
  14. <!-- 添加用户信息 -->
  15. <insert id="addUser" parameterType="fyjz.com.springMybatis.entry.User">
  16. insert into u_user values(null,#{userName},#{userPwd},#{money},#{age});
  17. </insert>
  18. <!-- 根据用户id查询用户数据 -->
  19. <select id="selectUserById" resultMap="rm">
  20. select * from u_user where id=#{id};
  21. </select>
  22. <!-- 查询所有用户数据 -->
  23. <select id="findAllUser" resultMap="rm">
  24. select * from u_user;
  25. </select>
  26. <!-- 根据用户名和密码查询用户数据,返回map集合-->
  27. <select id="findUserByNameAndPwd" resultType="map">
  28. select * from u_user where user_name=#{name} and user_pwd=#{pwd};
  29. </select>
  30. </mapper>

4.结果演示

1.加载Spring配置文件并生成javaBean对象

  1. ApplicationContext ac;
  2. UserMapper dao;
  3. @Before
  4. @Test
  5. public void test01() throws SQLException{
  6. //加载xml配置文件
  7. ac=new ClassPathXmlApplicationContext("spring-dao.xml");
  8. //获取spring管理的javaBean对象userMapper
  9. dao=ac.getBean("userMapper",UserMapper.class);
  10. }

2.添加用户信息

  1. @Test
  2. public void test02(){
  3. User u=new User(0, "uzi","52147893", 52360, 50);
  4. int n=dao.addUser(u);
  5. System.out.println(n);
  6. }

在这里插入图片描述

插入成功,后台返回1

3.根据用户id查询用户数据

  1. @Test
  2. public void test03(){
  3. User u=dao.selectUserById(1);
  4. System.out.println(u);
  5. }

在这里插入图片描述

查找成功

4.查询所有用户数据

  1. @Test
  2. public void test04(){
  3. List<User> list=dao.findAllUser();
  4. System.out.println(list);
  5. }

在这里插入图片描述

查询到所有的用户数据

5.根据用户名和密码查询用户数据,返回map集合

  1. @Test
  2. public void test05(){
  3. Map<String,Object> map=dao.findUserByNameAndPwd("何倩","125521");
  4. System.out.println(map);
  5. }

在这里插入图片描述

查询成功

以上就是Spring整合Mybatis的详细内容,更多关于Spring整合Mybatis的资料请关注w3xue其它相关文章!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号