Spring整合Mybatis的全过程
作者:521125LYC
这篇文章主要介绍了Spring整合Mybatis的全过程,包括spring配置文件书写映射器接口的实例代码,本文给大家介绍的非常详细,需要的朋友可以参考下
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的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:
- 解决Spring boot整合mybatis,xml资源文件放置及路径配置问题
- SpringBoot整合mybatis-generator-maven-plugin的方法
- springboot整合mybatis-plus 实现分页查询功能
- Spring Boot整合mybatis使用注解实现动态Sql、参数传递等常用操作(实现方法)
- springboot2.3 整合mybatis-plus 高级功能(图文详解)
- 解决SpringBoot整合Mybatis扫描不到Mapper的问题
- SpringBoot如何通过yml方式整合Mybatis
- SpringBoot整合MybatisSQL过滤@Intercepts的实现