Spring整合MyBatis
推荐先阅读
:Spring全家桶
依赖:
<dependency> |
jdbc.driver=com.mysql.jdbc.Driver |
数据源配置类
public class JdbcConfig { |
Mybatis配置类
public class MybatisConfig { |
SpringConfig主配置类,并且import数据源配置类、Mybatis配置类
//配置类注解 |
主程序
public class App { |
拓展:配置演变
从xml文件 –> 注解+配置类
xml版本:
create database spring_db character set utf8;
use spring_db;
create table tbl_account(
id int primary key auto_increment,
name varchar(35),
money double
);
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_db?useSSL=false
jdbc.username=root
jdbc.password=root
<configuration>
// 初始化属性数据
<!--读取外部properties配置文件-->
<properties resource="jdbc.properties"></properties>
// 初始化类型别名
<!--别名扫描的包路径-->
<typeAliases>
<package name="com.zx.domain"/>
</typeAliases>
// 初始化dataSource
<!--数据源-->
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</dataSource>
</environment>
</environments>
// 初始化映射配置
<!--映射文件扫描包路径-->
<mappers>
<package name="com.zx.dao"></package>
</mappers>
</configuration>
public class App {
public static void main(String[] args) throws IOException {
// 1. 创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// 2. 加载SqlMapConfig.xml配置文件
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml.bak");
// 3. 创建SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
// 获取连接,获取实现
// 4. 获取SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
// 5. 执行SqlSession对象执行查询,获取结果User
AccountDao accountDao = sqlSession.getMapper(AccountDao.class);
// 获取数据层接口
Account ac = accountDao.findById(1);
System.out.println(ac);
// 关闭接口
// 6. 释放资源
sqlSession.close();
}
}