src\main\resources\com\wzx\dao\UserDao.xml
<?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"> <!-- 使用代理以后 当前的映射文件要与接口同名,并且放在同一个位置 使用代理以后 namespace要求写接口的全类名 包名+类名=全类名 UserDao--> <mapper namespace="com.wzx.dao.UserDao"> <!-- 使用代理以后id必须是方法名--> <select id="findById" parameterType="int" resultType="com.wzx.bean.User"> select * from user where id =#{id}; </select> </mapper>src\test\java\com\wzx\pack02\Test01Proxy.java
public class Test01Proxy { @Test public void test01(){ SqlSession sqlSession = MySessionUtils.getSession(); //select * from user where id =1; UserDao dao = sqlSession.getMapper(UserDao.class);//内部就使用你编写接口来生成代理对象 //代理对象的方法内部 查询sql,并且执行jdbc代码 User user = dao.findById(1); System.out.println(user); //定义接口 sqlSession.close(); } }src\main\resources\SqlMapConfig.xml
<!-- 配置多个映射文件--> <mappers> <mapper resource="UserMapper.xml"/> <mapper resource="com/wzx/dao/UserDao.xml"/> </mappers>UserDao .java
//com.wzx.dao.UserDao.findById public interface UserDao { public User findById(int id); //select * from user where username like '张%' List<User> findByKeyWord(String s); }UserDao .xml
<select id="findByKeyWord" parameterType="string" resultType="com.wzx.bean.User"> select * from user where username like #{keyword} </select>删除数据
(1)定义接口中的方法(2)语句(3)配置(4)通过session.getMapper()返回的对象不是实现类对象 @Test public void test03(){ SqlSession sqlSession = MySessionUtils.getSession(); //返回的是实现接口的实现类对象 UserDao dao = sqlSession.getMapper(UserDao.class); //删除 dao.deleteById(16); // sqlSession.commit(); sqlSession.close(); } //com.wzx.dao.UserDao.findById public interface UserDao { //delete from user where id = 16; void deleteById(int id); } <delete id="deleteById" parameterType="int"> delete from user where id = #{id}; </delete>(1)定义接口中的方法 (2)语句 (3)配置 (4)通过session.getMapper()返回的对象不是实现类对象
@Test public void test04(){ SqlSession sqlSession = MySessionUtils.getSession(); //返回的是实现接口的实现类对象 UserDao dao = sqlSession.getMapper(UserDao.class); User user = new User(); user.setId(100); user.setUsername("jackjhone"); user.setAddress("北京"); user.setBirthday(new Date()); dao.saveUser(user); // sqlSession.commit(); sqlSession.close(); } //com.wzx.dao.UserDao.findById public interface UserDao { //insert into user value(null,#{username},#{birthday},#{sex},#{address}) void saveUser(User user); } <insert id="saveUser" parameterType="com.wzx.bean.User"> insert into user value(null,#{username},#{birthday},#{sex},#{address}) </insert>src\main\resources\SqlMapConfig.xml
<typeAliases> <!-- <typeAlias type="com.wzx.bean.User" alias="user"></typeAlias> --> <package name="com.wzx.bean"/> </typeAliases>