mybatis的小入门案例(算是吧)

案例需求:在user表中查询所有用户 并打印用户详细信息
1、创建好数据库 在数据库中创建好表(使用的是上一篇中的数据库和表)
2、创建好项目 这里搭建的是maven工程
3、导入相应的jar包的坐标
jar

<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.5</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.6</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
</dependencies>

4、resources目录下导入log日志文件
5、创建pojo类 这里对user相关信息进行了一个封装 注意这里的变量要和数据库中的属性名进行对应
public class User implements Serializable {
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address;

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}

public Date getBirthday() {
    return birthday;
}

public void setBirthday(Date birthday) {
    this.birthday = birthday;
}

public String getSex() {
    return sex;
}

public void setSex(String sex) {
    this.sex = sex;
}

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}

@Override
public String toString() {
    return "User{" +
            "id=" + id +
            ", username='" + username + '\'' +
            ", birthday=" + birthday +
            ", sex='" + sex + '\'' +
            ", address='" + address + '\'' +
            '}';
}

}
6、创建IUserDao接口对象 提供查询所有用户的接口方法
public interface IUserDao {

    /*
        * 查询所有的用户的抽象方法
    * */
    public List<User> findAll();
}

7、在resources的目录下相应的目录文件下创建映射文件IUserDao.xml

这里的namespace必须要指明 另外这里没有参数值所以不用指定参数类型 这里的返回值必须要指明 不然最后返回的结果找不到对象来接收
8、创建sqlmapconfig.xml配置文件 导入相应的约束文件 这个是主配置文件 里面要配置相应的数据库信息 以及 映射文件的配置

9、书写测试类(分为6个小步骤)
1)读取配置文件sqlmapconfig.xml
2)创建sqlsessionfactory工厂
3)利用工厂创建sqlsession对象
4)利用sqlsession对象创建相应的代理类
5)利用代理类执行相应的方法
6)关闭相应的资源
public void testMybatis() throws Exception {
//1、读取配置文件
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
//2、创建sqlsessionFatory
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory sessionFactory = builder.build(inputStream);
//3、生产sqlsession对象
SqlSession session = sessionFactory.openSession();
//4、创建接口代理类对象
IUserDao mapper = session.getMapper(IUserDao.class);
System.out.println(mapper);
//5、调用方法
List list = mapper.findAll();
for(User u:list){
System.out.println(u);
}
//6、关闭资源
inputStream.close();
session.close();
}
输出结果:
User{id=41, username='老王', birthday=Tue Feb 27 17:47:08 CST 2018, sex='男', address='北京'}
User{id=42, username='大王', birthday=Fri Mar 02 15:09:37 CST 2018, sex='女', address='上海'}
User{id=43, username='小王', birthday=Sun Mar 04 11:34:34 CST 2018, sex='女', address='深圳'}
User{id=45, username='二王', birthday=Sun Mar 04 12:04:06 CST 2018, sex='男', address='南京'}
User{id=46, username='王二麻子', birthday=Wed Mar 07 17:37:26 CST 2018, sex='男', address='天津'}

posted @ 2019-11-23 11:38  菜鸟phantom卡卡  阅读(145)  评论(0编辑  收藏  举报