1、mybatis简介java
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎全部的 JDBC 代码和参数的手工设置以及结果集的检索。mysql
一、 简化JDBC的开发sql
二、 可以更好的完成ORM(对象关系映射)数据库
2、mybatis原理mybatis
一、经过sqlMapConfig.xml配置开发环境、事务配置文件等app
二、经过映射文件UserMapper.xml,将实体类与数据库表字段相关联框架
三、建立SqlSessionFactory ,加载sqlMapConfig.xml文件maven
四、建立SqlSession,操做实体类测试
3、入门准备3d
一、建立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);
二、建立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>
4、入门案例
一、在/mybatis/src/main/resources目录下建立sqlMapConfig.xml文件
二、在/mybatis/src/main/resources/mapper目录下配置UserMapper.xml文件
三、在/mybatis/src/main/java/mybatis/day01/pojo目录下建立User实体类
四、在/mybatis/src/test/java/day01目录下建立Test1.java测试类
5、项目目录
6、映射文件经常使用标签
一、查询语句
<select id="" resultType="" parameterType=""></select>
1)id 为sql的惟一标识
2)resultType为sql返回值类型
3)parameterType为sql传参类型
注意:属性名和类名必须一致才能完成映射
二、插入语句
<insert id="" parameterType=""></insert>
三、更新语句
<update id="" parameterType=""></update>
四、删除语句
<delete id="" parameterType=""></delete>
7、扩展
一、别名
为简化开发,能够在sqlMapConfig.xml文件中使用typeAliases为须要映射的实体类全路径设置包名
sqlMapConfig.xml
UserMapperConfig.xml
二、特殊字符
xml文件的特殊字符须要用<![CDATA[]]>包起来
如 id < 2 须要写成
<![CDATA[
id < 2
]]>
三、${} 与 #{}区别
推荐使用#{},缘由:${}执行底层是Statement ,有sql注入风险,#{}执行底层是PreparedStatement