第3.113课 上课 MyBatis3介绍, JDBC访问数据库, MyBatis…
3_113

MyBatis3 介绍
JDBC访问数据库

MyBatis3访问数据库
MyBatis 本是apache的一个开源项目iBatis,是一个数据持久层(ORM)框架。
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。
MyBatis是一个对JDBC进行轻量级封装的持久层框架,它可以帮我们简化的JDBC操作,包括获取数据库连接、设置参数、处理结果集、事务管理等等。通过XML配置或注解,可非常方便的实现原本复杂的数据库操作。

中文文档
http://www.mybatis.org/mybatis-3/zh/getting-started.html
MyBatis3框架作用概述
简化数据库连接操作
SqlSessionFactory封装数据源DataSource
简化数据库CRUD操作
利用数据访问接口与sql映射文件完成所有的持久化操作
利用数据访问对象(类型别名)进行两个方面的数据封装
sql语句的占位符设值传递
ResultSet结果集的转换
简化事务操作
下载与解压
下载地址: https://github.com/mybatis/mybatis-3/releases

mybatis-3.*.zip

第一个HelloWorld程序
复制jar包

创建mybatis-config.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>
<!-- 配置MyBatis3的环境 -->
<environments default="env">
<!-- 配置一个环境 -->
<environment id="env">
<!-- 配置事务管理器 JDBC(有事务)、MANAGED(托管)-->
<transactionManager type="JDBC"/>
<!-- 配置数据源 JNDI(web服务器方式定义数据源)、POOLED(自带连接池)、UNPOOLED(不带连接池) -->
<dataSource type="POOLED">
<!-- 连接数据库驱动 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!-- 连接数据库URL -->
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_db"/>
<!-- 连接数据库用户名 -->
<property name="username" value="root"/>
<!-- 连接数据库密码 -->
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!-- 配置XxxMapper.xml访问数据库SQL文件 -->
<mappers>
<mapper resource="com/yayadou/domain/ProvinceMapper.xml"/>
</mappers>
</configuration>
放在src目录下
创建XxxMapper.xml文件定义访问数据表的sql语句
<?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">
<!-- 定义访问数据表的SQL映射标签
namespace : 命名空间(用来区分其它的mapper文件),一般为该文件所在的全路径包名+mapper文件名
-->
<mapper namespace="com.yayadou.domain.ProvinceMapper">
<!-- 添加
id : 唯一的标识
parameterType : 参数类型(用来为sql语句中的占位符赋值) 可选
-->
<insert id="save" parameterType="com.yayadou.domain.Province">
insert into province(name) values(#{name})
</insert>
</mapper>
创建SqlSessionFactory
new SqlSessionFactoryBuilder().build(inputStream);
创建SqlSession
sqlSessionFactory.openSession();
创建数据传输类(类型别名与数据库表进行关联)
配置数据传输类中的属性与表中的列要进行关联
默认关联(属性名与列名一致)
手动配置关联(需要XxxMapper.xml文件中)
调用SqlSession中的方法执行相应的数据库的操作

浙公网安备 33010602011771号