一、Mybatis核心XML
<?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>
<properties resource="db.properties"/>
<typeAliases>
<typeAlias alias="user" type="包名.类名"/>
<package name="其它包"/>
</typeAliases>
<settings>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="false"/>
</settings>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${name}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="相对路径/xxx.xml"/>
<mapper url="绝对路径/xxx.xml" />
<mapper class="包名.类名" />
<package name="包名"/>
</mappers>
</configuration>
二、MapperXML
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="包名.xml名">
<resultMap id="id名" type="映射类型">
<id property="属性名" column="字段名"></id>
<result property="属性名" column="字段名"></result>
<result property="属性名" column="字段名"></result>
<collection property="属性名" ofType="映射类型">
<id property="属性名" column="字段名"></id>
<result property="属性名" column="字段名"></result>
<association property="items" javaType="cn.itcast.mybatis.po.Items">
<id property="属性名" column="字段名"></id>
<result property="属性名" column="字段名"></result>
</association>
</collection>
</resultMap>
<resultMap id="id名" type="映射类型">
<id property="属性名" column="字段名"></id>
<result property="属性名" column="字段名"></result>
<result property="属性名" column="字段名"></result>
<association property="属性名" javaType="映射类型" column="字段名,作为select参数" select=”selectId值”>
<id property="属性名" column="字段名"></id>
<result property="属性名" column="字段名"></result>
</association>
</resultMap>
<insert id="方法名" parameterType="参数类型">
<selectKey keyProperty="Po类对应属性名" order="AFTER" resultType="java.lang.Integer">
select LAST_INSERT_ID()
</selectKey>
<selectKey keyProperty="Po类对应属性名" order="BEFORE" resultType="java.lang.String">
select uuid()
</selectKey>
INSERT INTO stu (name, clazz, ages) VALUE (#{name},#{clazz},#{age})
</insert>
<delete id="方法名" parameterType="参数类型">
DELETE FROM stu WHERE id=#{id}
</delete>
<select id="方法名" parameterType="参数类型" resultMap="对应id值">
SELECT * FROM stu
<foreach collection="[list/array/属性名]" item="item" open="开始字符串" separator="间隔字符串" close="结束字符串">
#{item.id}
</foreach>
</select>
<sql id="sql01">
<if test="name!=null and name!=''">
name=#{name},
</if>
<if test="clazz!=null and clazz!=''">
clazz=#{clazz},
</if>
</sql>
<update id="方法名" parameterType="参数类型">
UPDATE stu
<set>
<include refid="[namespace/]对应id值"></include>
</set>
WHERE id=#{id}
</update>
</mapper>
三、MybatisUtils
import java.io.InputStream;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MybatisUtils {
private static SqlSessionFactory factory;
private static String resource;
static {
try {
InputStream is=MybatisUtils.class.getClassLoader().getResourceAsStream(resource);
factory=new SqlSessionFactoryBuilder().build(is);
} catch (Exception e) {
e.printStackTrace();
}
}
public static SqlSessionFactory getFactory(){
return factory;
}
}
四、相关jar包
- mybatis-3.2.7.jar
- mysql-connector-java-5.1.7-bin.jar