Mybatis-Spring整合

1.引入依赖

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>

    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.5</version>
</dependency>

 <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.0.RELEASE</version>
</dependency>
    
    <!-- 需要使用spring自带的jdbc链接数据库 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.2.0.RELEASE</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.9.6</version>
    <scope>runtime</scope>
</dependency>
    
    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.5</version>
</dependency>

2.创建实体类

public class User {
    
    
	
	private int id;
	private String name;
	private String pwd;
	public User() {
    
    
		super();
		// TODO Auto-generated constructor stub
	}
	public User(int id, String name, String pwd) {
    
    
		super();
		this.id = id;
		this.name = name;
		this.pwd = pwd;
	}
	public int getId() {
    
    
		return id;
	}
	public void setId(int id) {
    
    
		this.id = id;
	}
	public String getName() {
    
    
		return name;
	}
	public void setName(String name) {
    
    
		this.name = name;
	}
	public String getPwd() {
    
    
		return pwd;
	}
	public void setPwd(String pwd) {
    
    
		this.pwd = pwd;
	}
	@Override
	public String toString() {
    
    
		return "User [id=" + id + ", name=" + name + ", pwd=" + pwd + "]";
	}
	
}

3.创建UserMapper接口

public interface UserMapper {
    
    
	
	public List<User> selectUsers();
}

4.UserMapper实现类(在Mybatis不需要)

package COM.MLJ.MybatisSpring;

import java.util.List;

import org.mybatis.spring.SqlSessionTemplate;

public class UserMapperImpl implements UserMapper{
    
    

	//在原来我们一切的操作都是sqlSession,现在我们使用sqlSessionTemplate
	private SqlSessionTemplate sqlSessionTemplate;

	public SqlSessionTemplate getSqlSessionTemplate() {
    
    
		return sqlSessionTemplate;
	}

	public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
    
    
		this.sqlSessionTemplate = sqlSessionTemplate;
	}

	@Override
	public List<User> selectUsers() {
    
    
		UserMapper mapper = sqlSessionTemplate.getMapper(UserMapper.class);
		return mapper.selectUsers();
	}

}

5.创建Mybatis核心配置文件

<?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>
  	<typeAlias type="COM.MLJ.MybatisSpring.User" alias="User"/>
  </typeAliases>
  
  <mappers >
  	<mapper resource="UserMapper.xml"/>
  </mappers>
</configuration>

6.创建Mapper配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="COM.MLJ.MybatisSpring.UserMapper">
   
   <select id="selectUsers" resultType="User">
   		select * from user1;
   </select>
</mapper>

7.创建Spring容器配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<!-- DataSource 数据源  其他:c3p0 druid dbcp-->
	<!-- 这里我们使用Spring提供的jdbc: DriverManagerDataSource-->
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
		<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;useSSL=true&amp;characterEncoding=utf8"></property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	
	<!-- sqlSessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<!-- 绑定Mybatis配置文件 -->
		<property name="configLocation" value="MybatisConfig.xml"></property>
	</bean>
	
	<!-- SqlSessionTemplate就是我们要的sqlSession -->
	<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
		<!-- 因为没有set方法,所以用构造器注入 -->
		<constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>
	</bean>
	
	<bean id="userMapper" class="COM.MLJ.MybatisSpring.UserMapperImpl">
		<property name="sqlSessionTemplate" ref="sqlSession"></property>
	</bean>
	
</beans>

8.测试

public static void main( String[] args )
    {
    
    
       ApplicationContext applicationContext = new ClassPathXmlApplicationContext("ApplicationContext.xml");
       UserMapper bean = (UserMapper)applicationContext.getBean("userMapper");
       List<User> users = bean.selectUsers();
       System.out.println(users);
    }

猜你喜欢

转载自blog.csdn.net/mmmmmlj/article/details/108775552