Mybatis整合Spring
来源:互联网 发布:杭州5年经验程序员工资 编辑:程序博客网 时间:2024/05/16 12:10
1、创建maven项目导入jar包
pom.xml中
<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.43</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>20030825.184428</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.10.RELEASE</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.10.RELEASE</version> </dependency> <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> <version>1.5.6</version> </dependency> </dependencies>
2、创建实体类User
public class User implements Serializable { private Integer id; private String username; private String password; private Date birthday; private String address; public User() { } public User(String username, String password, Date birthday, String address) { this.username = username; this.password = password; this.birthday = birthday; this.address = address; } get、set方法}
2、创建sql映射文件和mappe接口,放在同一个包下,名称相同
<?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.scu.mybatis.mapper.UserMapper"> <!-- 插入数据 --> <insert id="save" parameterType="com.scu.mybatis.entity.User"> <selectKey keyProperty="id" order="AFTER" resultType="int"> SELECT LAST_INSERT_ID() </selectKey> INSERT INTO t_user (username,password,birthday,address) VALUES(#{username},#{password},#{birthday},#{address}) </insert> <!-- 根据id查询数据 --> <select id="findById" parameterType="int" resultType="com.scu.mybatis.entity.User"> SELECT * FROM t_user u WHERE u.id=#{id} </select> <!-- 查询所有用户信息 --> <select id="findList" resultType="com.scu.mybatis.entity.User"> SELECT * FROM t_user </select> <!-- 根据用户名模糊查询,一定要写成value不能写成username --> <select id="findByName" resultType="com.scu.mybatis.entity.User" parameterType="string"> SELECT * FROM t_user u WHERE u.username LIKE '%${value}%' </select> <!-- 修改用户信息 --> <update id="updateById" parameterType="com.scu.mybatis.entity.User"> UPDATE t_user u SET u.username=#{username},u.password=#{password}, u.birthday=#{birthday},u.address=#{address} WHERE u.id=#{id} </update> <!-- 删除 --> <delete id="delete" parameterType="int"> DELETE FROM t_user WHERE id=#{id} </delete></mapper>
public interface UserMapper { //插入数据 public void save(User user); //根据id查询数据 public User findById(int id); //查询所有用户信息 public List<User> findList(); //根据用户名模糊查询 public List<User> findByName(String username); //修改用户信息 public void updateById(User user); //删除用户 public void delete(int id);}
4、引入配置文件jdbc.properties
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis2?characterEncoding=utf-8jdbc.username=rootjdbc.password=123456
5、引入mybatis全局配置文件SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><typeAliases> <package name="com.scu.mybatis.entity"/></typeAliases></configuration>
6、引入Spring配置文件applicationContext.xml
- 加载配置文件jdbc.properties
- 配置数据库连接池
- 配置SqlSessionFactory
- 配置MapperScannerConfigurer
<!-- 加载配置文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 配置数据库连接池 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="url" value="${jdbc.url}"></property> <property name="driverClassName" value="${jdbc.driver}"></property> <property name="username" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> </bean> <!-- 配置SqlSessionFactory 1、指定数据源 2、指定mybatis全局配置文件位置,如果没不需要用到里面的配置的话也可以不指定 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:sqlMapConfig.xml"/> </bean> <!-- mybatis获取mapper接口: SqlSession session = SqlSessionFactory.openSession(); UserMapper mapper = session.getMapper(UserMapper.class); 与spring整合的话,如下配置顶替上面获取方式 会自动扫描com.scu.mybatis.mapper包下所有mapper接口,同时会在自动在容器 中寻找Session工厂。 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.scu.mybatis.mapper"></property> <!-- 会自动在容器内找sqlSessionFactory的,所以可以不配置sqlSessionFactory当然配置了也没问题 --> </bean>
注:sql映射文件一定要跟mapper接口文件在同一包下且名称要一样,否则上面那种配置测试的话会出现绑定异常。
测试:根据id查询用户信息
@Test public void test(){ ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); UserMapper mapper = ac.getBean(UserMapper.class); User user = mapper.findById(1); System.out.println(user.getUsername()+","+user.getPassword()); }
阅读全文
0 0
- Mybatis -- Mybatis整合Spring
- 【Mybatis】Mybatis整合spring
- 【Spring+Mybatis】Spring整合Mybatis
- MyBatis-----2、MyBatis整合Spring
- Spring整合Mybatis
- spring整合myBatis
- MyBatis-Spring框架整合
- MyBatis+Spring整合示例
- MyBatis+Spring整合示例
- MyBatis+Spring整合方案
- spring + struts2 + mybatis整合
- Spring整合Mybatis
- Mybatis整合Spring
- Spring Mybatis 整合
- spring整合MyBatis
- Mybatis整合Spring
- MyBatis+Spring整合示例
- maven+spring+mybatis整合
- JavaScript是一种弱类型语言,有什么优点和缺点
- 算法学习之旅,中级篇(8)-–分治之二分搜索(递归)
- POJ 2449 A*K短路
- 数组中两个只出现一次的数字
- 假如时光倒流,我会这么学习Java
- Mybatis整合Spring
- hdu 3709 Balanced Number(数位dp)
- select\poll源码
- windows下cppcheck的使用
- kubernetes多节点部署解析
- C++中的常用数学函数使用总结
- C++ 背包问题
- 设备树特殊节点
- Manven+Eclipse+zookeeper搭建分布式架构