Mybatis入门
1). 搭建开发环境
jar
SqlMapConfig.xml
Mapper.xml
2). 根据ID查询用户信息
<select id="statementid" parameterType="" resultType="">
SQL : ? -----> #{value}
</select>
sqlSession.selectOne(statementid , param);
3). 根据用户名模糊匹配
<select id="statementid" parameterType="" resultType="">
SQL : select * from user where usernmae like '%${value}%' // concat('%',#{val},'%')
</select>
sqlSession.selectList(statementid , param)
4). 插入
<insert id="" parameterType="user">
<selectKey keyProperty="" resultType="" order="">
select last_insert_id()
</selectKey>
insert ....
</insert>
A. mysql主键自增
select last_insert_id()
order : AFTER
B. uuid
select uuid()
order : BEFORE
C. oracle主键自增
select myseq.nextval from dual
order : BEFORE
5). 删除
<delete>
6). 更新
<update>
mapper.xml
SQL , 输入映射(parameterType) , 输出映射(resultType)
SqlMapConfig.xml
数据库连接 , 加载Mapper.xml
# 与 $的区别 :
# 是占位符号 , 简单数据类型 #{随便写val , values} ;
$ 是字符串拼接符号 , 简单数据类型 ${value} , 注意 : 里面只能写value
Mybatis 与 Hibernate 区别
Mybatis中Dao开发
1). 原始dao开发
SqlSession
2). Mapper代理的方式开发
优势 : 只写接口, 不写实现类
规范 :
A. namespce与全限定类名一致
B. 接口方法名 与 mapper中的statementid一致
C. 输入映射与方法形参一致
D. 输出映射与返回值类型一致
用法 :
sqlSession.getMapper(UserMapper.class)
Mybatis中SqlMapconfig.xml介绍
properties :
配置属性信息 ;
加载外部的properties ;
先加载内部, 后加载外部;
typeAliases :
配置别名
<typeAliases>
<typeAliase type="" alias="">
<package name="....">
</typeAliases>
mappers :
加载映射配置文件
A. <mapper resource="sqlmap/user.xml">
B. <mapper class="cn.itcast.UserMapper">
同包同名
C. <package name="cn.itcast">
同包同名