MyBatis基础
一、概述
1、MyBatis是什么
支持定制化SQL,存储过程的半自动ORM框架。
2、主配置文件
示例:
<?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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> </configuration>
3、映射配置文件
示例:
<?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"> <mapper namespace="cn.demo.mybatis.mapper.UserMapper"> <select id="queryUserById" parameterType="int" resultType="cn.demo.mybatis.pojo.User"> select * from user where id = #{id} </select>
<insert id="saveUser" parameterType="cn.demo.mybatis.pojo.User"> <selectKey keyProperty="id" keyColumn="id" order="AFTER" resultType="int"> select last_insert_id() </selectKey> insert into user(username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address}); </insert> </mapper>
二、动态SQL
MyBatis 采用OGNL表达式来实现动态拼接SQL,简化操作。
1、相关标签
三、缓存机制
四、逆向工程
为MyBatis使用者专门定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的CRUD操作,表连接,存储过程等复杂sql需要自定义编写。