文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Spring整合Mybatis的全过程

2024-04-02 19:55

关注

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的资料请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯