Mybatis中mapper代理方法

User.java  存储用户的信息
UserMapper.xml   配置查询用户的sql语句
SqlMapConfig.xml    加载配置文件(即全局配置文件)
UserMapper.java      mapper接口
UserMapperTest.java   数据库操作文件


UserMapperTest.java
public class UserMapperTest {
    private SqlSessionFactory sqlSessionFactory;

    @Before
    public void setUp() throws Exception {
        // MyBatis配置文件
        String resource = "SqlMapConfig.xml";
        // 得到配置文件流
        InputStream inputStream = Resources.getResourceAsStream(resource);

        // 创建会话工厂,想build中传入配置文件信息
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    }

    @Test
    public void testFindUserById() throws Exception {
        SqlSession sqlSession = sqlSessionFactory.openSession();

        // 创建UserMapper对象,mybatis自动生成mapper代理对象
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        // 调用userMapper的方法
        User user = userMapper.findUserById(1);
        sqlSession.close();
        System.out.println(user);
    }

    @Test
    public void testFindUserByName() throws Exception {
        SqlSession sqlSession = sqlSessionFactory.openSession();

        // 创建UserMapper对象,mybatis自动生成mapper代理对象
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        List userList = userMapper.findUserByName("小明");
        sqlSession.close();
        System.out.println(userList);
    }

}

UserMapper.java

package dancheng.mybatis.mapper;

import java.util.List;

import dancheng.mybatis.po.User;

/**
 * mapper接口,相当于dao接口,用户管理
 * @author Administrator
 *
 */
public interface UserMapper {

    //根据用户id查询
    public User findUserById(int id) throws Exception;
    
    //根据用户名查询
    public List findUserByName(String name) throws Exception;
    
    //添加用户信息
    public void insertUser(User user) throws Exception;
    //删除用户信息
    public void deleteUser(int id) throws Exception;
}


UserMapper.xml





    
    
    
    
    
        
            SELECT LAST_INSERT_ID()
        
        insert into user(username,birthday,sex,address) value(#{username},#{birthday},#{sex},#{address})
    
    
    
        delete from user where id=#{id}
    
    
    
    
        update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}
    


SqlMapConfig.xml



    
    
        
        
            
        
            
                
                
                
                
            
        
    
    
    
        
    


User.java
package dancheng.mybatis.po;

import java.util.Date;

public class User {
    private int id;
    private String username;//  用户姓名
    private String sex;// 性别
    private Date birthday;// 生日
    private String address;// 地址
    
    public User(){}
    
    public User(String username, String sex, Date birthday, String address) {
        this.username = username;
        this.sex = sex;
        this.birthday = birthday;
        this.address = address;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", username=" + username + ", sex=" + sex
                + ", birthday=" + birthday + ", address=" + address + "]";
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    
}


你可能感兴趣的:(java-MyBetis)