第3.114课 上课 MyBatis3入门, MyBatis3基于xml实现CRU…
3_114

MyBatis3入门
SqlSessionFactory
它底层封装了数据源
它对应一个数据库(一个应用只对应一个SqlSessionFactory)
常用方法
openSession()打开SqlSession
SqlSession
它底层封装了数据库连接
用它来完成所有持久化操作
用完就要关闭
默认事务是开启的
常用方法
insert()插入数据
update()修改数据
delete()删除数据
selectOne()查询一条
selectList()查询多条返回List
selectMap()查询多条返回Map
getMapper()获取数据访问接口代理对象
commit()提交事务
rollback()回滚事务
事务
(commit()提交事务, rollback()回滚事务)
mybatis-config.xml文件配置说明
properties配置属性
<properties resource="jdbc.properties"></properties>
settings配置全局的设置信息
setting
<!-- 全局资源配置 -->
<settings>
<!-- 开启缓存 -->
<setting name="cacheEnabled" value="true"/>
<!-- 开启延迟加载 -->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- 设置需要的时候才延迟加载 -->
<setting name="aggressiveLazyLoading" value="false"/>
</settings>
typeAliases配置类型别名
typeAlias
<typeAliases>
<!-- 给数据传输类起一个别名 (type:数据传输类 alias:别名) -->
<typeAlias type="com.yayadou.domain.Province" alias="province"/>
</typeAliases>
environment配置环境
transactionManager配置事务管理器
JDBC(有事务)
MANAGED(托管)
dataSource配置数据源
type类型
JNDI(使用JNDI实现的数据源)
POOLED(使用连接池的数据源)
UNPOOLED(不使用连接池的数据源)
driver数据库驱动
url连接数据库url
username连接数据库用户名
password连接数据库密码
mappers配置XxxMapper.xml数据访问文件
mapper
<mapper resource="com/yayadou/domain/ProvinceMapper.xml"/>
MyBatis3的XxxMapper.xml文件配置
<insert/>添加


<update/>修改

<delete/>删除

<select/>查询



<sql/>通用sql语句片断

<resultMap/> 结果集映射ResultSet Mapping
resultMap 元素是 MyBatis 中最重要最强大的元素。它就是让你远离 90%的需要从结果 集中取出数据的 JDBC 代码的那个东西, 而且在一些情形下允许你做一些 JDBC 不支持的事 情。 事实上, 编写相似于对复杂语句联合映射这些等同的代码, 也许可以跨过上千行的代码。 ResultMap 的设计就是简单语句不需要明确的结果映射,而很多复杂语句确实需要描述它们 的关系。

MyBatis3日志配置操作
DEBUG: ==> Preparing: insert into province(name) values(?)
log4j.properties放到src目录下
MyBatis3基于xml实现CRUD操作
<insert>元素
1.在xxx-mapping.xml文件定义insert元素。

说明:执行完插入操作之后,会把最新的ID添加到Province对象的provinceId属性。
2.调用SqlSession对象的的delete方法。

因此,这里可以调用Province对象的getProvinceId()方法直接获取最新的ID。
<selectKey>获取生成的主键值
<update>元素
1.在xxx-mapping.xml文件定义update元素。

2.调用SqlSession对象的update方法。

<delete>元素
1.在xxx-mapping.xml文件定义delete元素。

2.调用SqlSession对象的delete方法。

<select>元素
1.在xxx-mapping.xml文件定义select元素。

或

说明:
resultType:指定返回的类型,能自动映射就用它;
resultMap:指定查询出来的数据ResultSet该如何映射, 指定<resultMap/>的id属性值;
2.调用SqlSession对象的selectXxx方法。
selectOne:返回单条结果数据;
selectList:返回一组结果的List集合;
selectMap:将一个List结果集转换成Map集合,需要指定一个对象中的一个属性作为Key;
select:该方法没有返回值,它是通过ResultHandler对象获取每条数据;
<ResultMap>元素

浙公网安备 33010602011771号