3.mybatis注解

在上篇2.mybatis入门实例(一) 连接数据库进行查询的基础上

1.添加Mapper接口:UserMapper接口,并使用mybatis的注解

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.mlxs.mybatis.test1.User;

/**
 * 采用注解方式
 * @author 魅力_小生
 *
 */
public interface UserMapper {
    @Insert("insert into users(name,age) values(#{name},#{age})")
    public int add(User user);
    
    @Delete("delete from users where id=#{id}")
    public int delete(int id);
    
    @Update("update users set name=#{name}, age=#{age} where id=#{id}")
    public int update(User user);
    
    @Select("select * from users where id=#{id}")
    public User get(int id);
    
    @Select("select * from users")
    public List<User> getAll();
}

封装获取session的静态类:

public class MyBatisUtil {
    
    //创建sqlSessionFactory
    private static SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(getConfig());
    
    private static Reader getConfig(){
        //加载conf.xml文件
        try {
            return Resources.getResourceAsReader("conf.xml");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    
    /**
     * 单例,对外开放,获取session工厂
     * @return
     */
    public static SqlSessionFactory  getSessionFactory(){
        return sessionFactory;
    }
}

 

2.在conf.xml的mappers标签中添加上面的Mapper注解接口:

<mapper class="com.mlxs.mybatis.test2.UserMapper" />

3.测试

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.mlxs.mybatis.test1.User;
import com.mlxs.mybatis.util.MyBatisUtil;

public class _Test3Annotation {
    
    @Test
    public void addUser(){
        //创建session,设置事务为true
        SqlSession session = MyBatisUtil.getSessionFactory().openSession(true);
        UserMapper mapper = session.getMapper(UserMapper.class);
        int add = mapper.add(new User(0, "llp", 26));
        System.out.println("add--->"+add);
        session.close();
    }
    @Test
    public void delUser(){
        //创建session,设置事务为true
        SqlSession session = MyBatisUtil.getSessionFactory().openSession(true);
        UserMapper mapper = session.getMapper(UserMapper.class);
        int del = mapper.delete(6);
        System.out.println("del--->"+del);
        session.close();
    }
    @Test
    public void updateUser(){
        //创建session,设置事务为true
        SqlSession session = MyBatisUtil.getSessionFactory().openSession(true);
        UserMapper mapper = session.getMapper(UserMapper.class);
        int update = mapper.update(new User(7, "llp2", 27));
        System.out.println("update--->"+update);
        session.close();
    }
    @Test
    public void getUser(){
        //创建session,设置事务为true
        SqlSession session = MyBatisUtil.getSessionFactory().openSession(true);
        UserMapper mapper = session.getMapper(UserMapper.class);
        User user = mapper.get(2);
        System.out.println("user--->"+user);
        session.close();
    }
    @Test
    public void getAll(){
        //创建session,设置事务为true
        SqlSession session = MyBatisUtil.getSessionFactory().openSession(true);
        UserMapper mapper = session.getMapper(UserMapper.class);
        List<User> list = mapper.getAll();
        System.out.println("list--->"+list);
        session.close();
    }
    
}

 

posted @ 2016-02-21 17:59  艺言弈行  阅读(326)  评论(0编辑  收藏  举报