博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBaits学习
阅读量:5294 次
发布时间:2019-06-14

本文共 3211 字,大约阅读时间需要 10 分钟。

一:配置MyBaits的开发环境

1.1.核心配置文件

正如hibernate一样,MyBaits也有一个核心的配置文件,它包含着数据源地址,用户名,密码等,还有着各个实体类的配置文件,配置文件是xml类型的,至于文件名,则可以随意写,我这里取名作conf.xml,本文章中,都以这个名字为核心配置文件的名称,下面我们来写一个User类:

 

1.2.实体类与实体类的映射文件

写完核心的配置文件的时候,我们就要准备实体类,也就是一个javabean,同样也是要有着get与set方法,下面我们来写一个简单的bean:

package zxj.domain;public class User {    private int id;    private String name;    private int age;                public User(int id, String name, int age) {        super();        this.id = id;        this.name = name;        this.age = age;    }    public User() {        super();    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    @Override    public String toString() {        return "User [id=" + id + ", name=" + name + ", age=" + age + "]";    }        }

这是一个再简单不过的实体类了,然后再来写它的配置文件,配置文件一船会以类的名字+Mapper.xml,例如userMapper.xml,当然你也可以写其它的,下面给出Mybatis的简单的一个映射关系的写法:

insert into users(name,age) value(#{name},#{age})
delete fm users where id=#{id}
update users set name=#{name},age=#{age} where id=#{id}
 

看完上面配置文件的写法,如果懂Hibernate的人就会知道,这和hibernate的配置文件就是有些不同了,因为hibernate是完全的是面向对象的编程,不需要自己写sql,而mybatis需要程序员把sql写好,所以也注定了mybatis要比hibernate要更加灵活。

下面来介绍一下配置文件

(1)这里分别有着四个标签,分别对应增删改查,而每个标签又有一个id,这个Id就是操作数据库时需要引用的一个字符串。

(2)namespace就是这个配置文件的一个名称空间,是为配置文件分类的,就类似于java中的包一样。

(3)parameterType,参数类型,这个类型可以写一个基本数据类型,也可以写一个对象,比如说要增加一条纪录的时候,肯定是传一个对象过去的,然后在下面的占位符中,就可以写这个对象的属性字段。如果要删除一条纪录,则是是传一个id过去,则可以定义为int。

(4)resultType返回的结果类型,就是操作完数据库时返回的结果,它有可能是受影响的行数,也可能是查询完的一个对象,也可能是一个多条的list集合,所以也可以定义为基本数据类型或者是一个对象

 

1.3.简单的使用mybatis

写完基本的数据类型后,就需要来测试是否可以正常使用了,下面写一个测试类:

/**     * 测试根据id来查找,配置文件的写法     */    @Test    public void testSelect() {        // 使用类加载器加载Mybaits的配置文件,得到inputstream输入流        InputStream in = TestMybaits.class.getClassLoader().getResourceAsStream("conf.xml");        // 创建sessionFactory        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);        // 得到session        SqlSession session = factory.openSession();        // 这是userMapping的名称空间加上id        String statement = "zxj.domain.userMapper.getUser";        // 第二个参数是占位符,代表查找Id为2的数据,返回user对象        User user = session.selectOne(statement, 1);        System.out.println(user);        session.close();    }

如上的代码如示,先是根据inputStream流来加载配置文件,然后后面的就是创建工厂,然后创建session,然后用session操作数据库,然后关闭session。

转载于:https://www.cnblogs.com/zhuxiaojie/p/4656330.html

你可能感兴趣的文章