0
点赞
收藏
分享

微信扫一扫

mybatis框架开发流程

进击的铁雾 2022-02-18 阅读 76

mybatis框架开发流程

1 mybatis框架

mybatis框架是一款ORM映射框架。完成java对象和数据库表的映射。

mybatis框架和jdbc都是让数据库表和Java对象建立联系。但是jdbc更繁琐,因此jdbc不适合用于商业开发。mybatis框架则更简便和智能。

java(面向对象) ----- mybatis(java/xml) ----- 数据库(表):sql语句

2 mybatis的开发流程-hellow world

2.1 数据库

2.1.1 创建库

在这里插入图片描述

2.1.2 创建表book_tab

在这里插入图片描述

2.2 创建表的实体映射类

/**
 * 数据库表book_tab的实体映射类
 * @author lenovo
 *
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {
	private Integer id;
	private String isbn;
	private String title;
	private String author;
	private String cover;
	private Double price;
	private Date date;
}

2.3 创建接口-对表的增删改查

在这里插入图片描述

/**
 * 表的操作接口
 * @author lenovo
 *
 */
public interface IBookMapper {
	void save(Book book);
	void delete(int id);
	void update(Book book);
	List<Book> findAll();

}

2.4 创建数据源

这里使用了Druid数据源替换mybatis内置的
在这里插入图片描述

/**
 * 重定义数据源对象
 * @author lenovo
 *
 */
public class MybatisDataSource extends UnpooledDataSourceFactory {// 继承
	
	public MybatisDataSource() {
		this.dataSource = new DruidDataSource();
	}
}

2.5 数据源配置文件

在这里插入图片描述

druid.driverclass = com.mysql.cj.jdbc.Driver
druid.url = jdbc:mysql://localhost:3306/mybatis_db01?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
druid.username = root
druid.password=1234

2.6 mybatis配置文件(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>
	<!-- 读取数据源配置文件 -->
	<properties resource="resources/druid/druid.properties" />
	
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" /><!-- 配置数据库事务管理 -->
			
			<dataSource type="com.zuo.util.MybatisDataSource"><!-- 配置数据源 -->
				<property name="driverClassName" value="${druid.driverclass}" /><!-- ${}代表取出值 -->
				<property name="url" value="${druid.url}" />
				<property name="username" value="${druid.username}" />
				<property name="password" value="${druid.password}" />
			</dataSource>
			
		</environment>
	</environments>
	
	<!-- 配置表和类之间的映射,mapper文件创建之后再配置-->
	<mappers>
	
	</mappers>
</configuration>

2.7 表和类的映射文件

  1. 创建Book.mapper.xml文件
  2. 在上一步的mybatis配置文件,即mybatis-config.xml中的mappers位置,补全配置。

在这里插入图片描述

2.7.1 创建Book.mapper.xml文件

<?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.zuo.mapper.IBookMapper"><!-- 接口的位置 -->

	<insert id="save"><!-- 对应IBookMapper接口中的save方法 , #{}代表取出对象里该属性的值-->
		INSERT INTO book_tab(book_isbn,book_title,book_author,book_date,book_price,book_cover)
		 VALUES(#{isbn},#{title},#{author},#{date},#{price},#{cover})
	</insert>
	
</mapper>

2.7.2 补全mybatis-config.xml文件

在这里插入图片描述

2.8 测试

@Test
	public void test() throws Exception {
		// 1.读取mybatis文件,变成字符流对象
		Reader in = Resources.getResourceAsReader("resources/config/mybatis-config.xml");
		
		// 2.创建SqlSessionFactory工厂.管理多个数据库操作会话 
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
		
		// 3.开启一次sql会话
		SqlSession sqlSession = sqlSessionFactory.openSession();
		
		// 4.创建数据库操作接口对象
		IBookMapper mapper = sqlSession.getMapper(IBookMapper.class);

		// 5.接口操作.调用接口的方法
		Book book = new Book(null, "zuo001", "快乐", "张三", "java.jpg", 66.66, new Date());
		mapper.save(book);
		
		// 6.事务提交
		sqlSession.commit();

	}

在这里插入图片描述

举报

相关推荐

0 条评论