一、mybatis简介
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。
1、 简化JDBC的开发
2、 能够更好的完成ORM(对象关系映射)
二、mybatis原理
1、通过sqlMapConfig.xml配置开发环境、事务配置文件等
2、通过映射文件UserMapper.xml,将实体类与数据库表字段相关联
3、创建SqlSessionFactory ,加载sqlMapConfig.xml文件
4、创建SqlSession,操作实体类
三、入门准备
1、创建user表
CREATE TABLE user(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
addrses VARCHAR(255),
age INT
)
INSERT INTO `user` VALUES(NULL, '刘一','北京',28);
INSERT INTO `user` VALUES(NULL, '陈二','上海',32);
INSERT INTO `user` VALUES(NULL, '张三','广州',26);
2、创建maven工程mybatis
配置pom.xml文件,引入mybatis所用的依赖包
<dependencies>
<!--添加mysql驱动程序依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
<!--添加junit依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<!--添加mybatis核心依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!--添加日志包依赖 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
四、入门案例
1、在/mybatis/src/main/resources目录下创建sqlMapConfig.xml文件
2、在/mybatis/src/main/resources/mapper目录下配置UserMapper.xml文件
3、在/mybatis/src/main/java/mybatis/day01/pojo目录下创建User实体类
4、在/mybatis/src/test/java/day01目录下创建Test1.java测试类
五、项目目录
六、映射文件常用标签
1、查询语句
<select id="" resultType="" parameterType=""></select>
1)id 为sql的唯一标识
2)resultType为sql返回值类型
3)parameterType为sql传参类型
注意:属性名和类名必须一致才能完成映射
2、插入语句
<insert id="" parameterType=""></insert>
3、更新语句
<update id="" parameterType=""></update>
4、删除语句
<delete id="" parameterType></delete>
七、扩展
1、别名
为简化开发,可以在sqlMapConfig.xml文件中使用typeAliases为需要映射的实体类全路径设置包名
sqlMapConfig.xml
UserMapperConfig.xml
2、特殊字符
xml文件的特殊字符需要用<![CDATA[]]>包起来
如 id < 2 需要写成
<![CDATA[
id < 2
]]>
3、${} 与 #{}区别
推荐使用#{},原因:${}执行底层是Statement ,有sql注入风险,#{}执行底层是PreparedStatement