mybatis
1.導(dǎo)價(jià)包 (mybatis-3.2.2.jar mysql-connector-java-5.1.21.jar)
2.添加文件(mybatis-config.xml,mybatis-config.xml)
3.配置文件
<mappers>
<!-- 配置映射文件 -->
<mapper resource="com/mapper/EmpMapper.xml"/>
</mappers>
<mapper namespace="com.dao.IUserDao">
<select id="list" resultType="com.model.User">
select * from employee
</select>
<insert id="save" parameterType="com.model.User" >
insert into employee(username) values(#{username})
</insert>
<update id="update" parameterType="com.model.User" >
update employee set username=#{username} where id=#{id}
</update>
<delete id="delete" parameterType="com.model.User" >
delete from employee where id=#{id}
</delete>
</mapper>
執(zhí)行sql
Reader r = Resources.getResourceAsReader("mybatis-config.xml");
SqlSessionFactory ss=new SqlSessionFactoryBuilder().build(r);
SqlSession session = ss.openSession();
方法一:
通過(guò)session.getMapper().IUserDao中的方法
方法二:
session.insert("save",new User("萊恩"));
session.delete("delete",new User(34,""));
session.update("update",new User(27,"陳一發(fā)"));
session.commit();
<delete id="delete" parameterType="com.model.User" >
delete from employee <include refid="byId"></include>
</delete>
<sql id="byId">
where id=#{id}
</sql>
屬性與字段映射
1.自動(dòng)映射
<select id="list" resultType="com.model.User">//字段名與屬性名不同時(shí)通過(guò)取別名映射
select salary sal from employee
2.手動(dòng)映射
<resultMap type="com.model.User" id="userMap">
<result property="sal" column="salary" javaType="java.lang.Double"/>
</resultMap>
<select id="list" resultMap="userMap">
使用mybatis
1.讀取配置文件
Reader r = Resources.getResourceAsReader("mybatis-config.xml");
2.創(chuàng)建session工廠
SqlSessionFactory ss=new SqlSessionFactoryBuilder().build(r);
3.得到session
SqlSession session = ss.openSession();
4.通過(guò)session執(zhí)行sql語(yǔ)句
session.getMapper(IUserDao.class).save(new User("撼地神牛"));
通過(guò)對(duì)應(yīng)關(guān)系
session.insert("save",new User("萊恩"));
通過(guò)Mapper文件中設(shè)置的方法的ID
5.處理結(jié)果集
6.關(guān)閉session
##條件查詢
``` xml
<select id="list" resultType="com.model.User" parameterType="com.model.User">
select * from employee
<where>
<if test="id!=0">
and id=#{id}
</if>
<if test="username!=null and username!=''">
and username like concat('%',#{username},'%')
</if>
</where>
limit #{startIndex},#{size}
</select>