Spring整合Mybatis的全过程
更新时间:2021年6月28日 15:00 点击:1686
1.Spring配置文件
1.1配置数据库连接池
<!--读取文件--> <util:properties id="config" location="classpath:Config/db.properties"/> <!--配置数据库连接池--> <bean id="source" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="#{config.drivername}"/> <property name="url" value="#{config.url}"/> <property name="username" value="#{config.name}"/> <property name="password" value="#{config.password}"/> <property name="maxActive" value="#{config.maxActive}"/> <property name="maxWait" value="#{config.maxWait}"/> </bean>
1.2配置数据源工厂
<!--配置sqlsessionFactoryBean--> <bean id="sqlsession" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--配置映射文件(操作sql语句的文件)的位置--> <property name="mapperLocations" value="classpath:mapper/user-mapper.xml"/> <!-- 将连接池注入到该数据源属性中--> <property name="dataSource" ref="source"/> </bean>
1.3配置MapperScannerConfigurer
配置MapperScannerConfigurer,扫描指定包及其子包下面的所有Mapper映射器,然后调用SqlSession的getMapper()方法,将该映射器纳入到spring管理,默认的id是映射器首字母小写的接口名。
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="fyjz.com.springMybatis.mapper"/> </bean>
2.书写映射器(接口)
package fyjz.com.springMybatis.mapper; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; import fyjz.com.springMybatis.entry.User; public interface UserMapper { //用户登录 int addUser(User user); //根据用户id查询用户数据 User selectUserById(int id); //查询所有用户数据 List<User> findAllUser(); //根据用户名和密码查询用户数据,返回map集合 Map<String,Object> findUserByNameAndPwd(@Param("name")String name,@Param("pwd")String pwd); }
3.书写user-mapper.xml映射文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> <!--映射文件(映射器的全名:包名.类名)--> <mapper namespace="fyjz.com.springMybatis.mapper.UserMapper"> <!--实体类和数据库字段名不一致,完成字段名的对应--> <resultMap type="fyjz.com.springMybatis.entry.User" id="rm"> <result property="id" column="id"/> <result property="userName" column="user_name"/> <result property="userPwd" column="user_pwd"/> <result property="money" column="money"/> <result property="age" column="age"/> </resultMap> <!-- 添加用户信息 --> <insert id="addUser" parameterType="fyjz.com.springMybatis.entry.User"> insert into u_user values(null,#{userName},#{userPwd},#{money},#{age}); </insert> <!-- 根据用户id查询用户数据 --> <select id="selectUserById" resultMap="rm"> select * from u_user where id=#{id}; </select> <!-- 查询所有用户数据 --> <select id="findAllUser" resultMap="rm"> select * from u_user; </select> <!-- 根据用户名和密码查询用户数据,返回map集合--> <select id="findUserByNameAndPwd" resultType="map"> select * from u_user where user_name=#{name} and user_pwd=#{pwd}; </select> </mapper>
4.结果演示
1.加载Spring配置文件并生成javaBean对象
ApplicationContext ac; UserMapper dao; @Before @Test public void test01() throws SQLException{ //加载xml配置文件 ac=new ClassPathXmlApplicationContext("spring-dao.xml"); //获取spring管理的javaBean对象userMapper dao=ac.getBean("userMapper",UserMapper.class); }
2.添加用户信息
@Test public void test02(){ User u=new User(0, "uzi","52147893", 52360, 50); int n=dao.addUser(u); System.out.println(n); }
插入成功,后台返回1
3.根据用户id查询用户数据
@Test public void test03(){ User u=dao.selectUserById(1); System.out.println(u); }
查找成功
4.查询所有用户数据
@Test public void test04(){ List<User> list=dao.findAllUser(); System.out.println(list); }
查询到所有的用户数据
5.根据用户名和密码查询用户数据,返回map集合
@Test public void test05(){ Map<String,Object> map=dao.findUserByNameAndPwd("何倩","125521"); System.out.println(map); }
查询成功
以上就是Spring整合Mybatis的详细内容,更多关于Spring整合Mybatis的资料请关注猪先飞其它相关文章!
相关文章
- 这篇文章主要介绍了Mybatis Plus select 实现只查询部分字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-01
- 这篇文章主要介绍了Spring AOP 对象内部方法间的嵌套调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-08-29
- 这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
Spring Cloud 中@FeignClient注解中的contextId属性详解
这篇文章主要介绍了Spring Cloud 中@FeignClient注解中的contextId属性详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-25Springboot如何实现Web系统License授权认证
这篇文章主要介绍了Springboot如何实现Web系统License授权认证,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-28- 这篇文章主要介绍了mybatis的Configuration详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-04
mybatis 返回Integer,Double,String等类型的数据操作
这篇文章主要介绍了mybatis 返回Integer,Double,String等类型的数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-25如何在Spring WebFlux的任何地方获取Request对象
这篇文章主要介绍了如何在Spring WebFlux的任何地方获取Request对象,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下...2021-01-26- 这篇文章主要介绍了详解SpringCloudGateway内存泄漏问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-16
- 数据库中的数据删除会分为两种:物理删除 和 逻辑删除,接下来通过本文给大家介绍MyBatis-Plus的物理删除和逻辑删除使用场景分析,感兴趣的朋友一起看看吧...2021-09-25
- @Autowired 注解的主要功能就是完成自动注入,使用也非常简单,但这篇文章主要给大家介绍了关于Spring为什么不推荐使用@Autowired注解的相关资料,需要的朋友可以参考下...2021-11-03
Springboot如何使用mybatis实现拦截SQL分页
这篇文章主要介绍了Springboot使用mybatis实现拦截SQL分页,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-19- 这篇文章主要介绍了Mybatis执行update失败的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-01
- 这篇文章主要介绍了Mybatis plus中使用in查询出错的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-08-06
解决Mybatis中mapper.xml文件update,delete及insert返回值问题
这篇文章主要介绍了解决Mybatis中mapper.xml文件update,delete及insert返回值问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-23- Mybatis-Plus是一个Mybatis的增强工具,它在Mybatis的基础上做了增强,却不做改变,Mybatis-Plus是为简化开发、提高开发效率而生,但它也提供了一些很有意思的插件,比如SQL性能监控、乐观锁、执行分析等,下面一起看看mybatis-plus雪花算法自动生成机器id原理解析...2021-06-04
- 这篇文章主要介绍了SpringMVC文件上传原理及实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-15
- 这篇文章主要介绍了Mybatis用注解写in查询的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-13
Spring Data JPA 关键字Exists的用法说明
这篇文章主要介绍了Spring Data JPA 关键字Exists的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-10- 这篇文章主要介绍了Mybatis和Mybatis-Plus时间范围查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-08-06