Mybatis 第一个实例程序入门

首先使用idea创建一个maven项目

添加以下依赖 ,链接数据库,使用mybaties,使用单元测试的依赖

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

 

每个 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。

SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。

SqlSessionFactoryBuilder 则可以从 XML 配置文件来构建出 SqlSessionFactory 实例。

SqlSession对象则是由SqlSessionFactory 活得的,所有的有关sql的操作语句都是由SqlSession完成。

获取SqlSessionFactory 这段代码是固定的,配置文件编写在下面。

            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
       SqlSession sqlSession = sqlSessionFactory.openSession();

 

mybatis需要配置一个核心配置的XML文件(mybatis-config.xml),将需要连接的数据库驱动,数据库链接,账号以及密码写入配置

代码后面的 <mappers> </mappers> 为注册一个mapper的xml文件,该xml使用来关联一个java类或者接口,及其对方法,和在编写sql语句

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/school?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=true"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/hys/mybatis/dao/userDao.xml"/>
    </mappers>
</configuration>

 

com/hys/mybatis/dao/userDao.xml的代码如下,namespace为对应的类,select中id对应的是方法,result为查询的结果集。userDao的接口代码如下

com.hys.mybatis.pojo.user 该类为具体类,属性私有,拥有无参构造,以及get/set方法

<mapper namespace="com.hys.mybatis.dao.userDao">
    <select id="getUserList" resultType="com.hys.mybatis.pojo.user" >
        select * from school.user
    </select>
</mapper>
public interface userDao {
    public List<user> getUserList();
}

 

最后测试,请先在上面 所写的 url=jdbc:mysql://localhost:3306/school?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=true

确保这个url能连上数据库,数据库有对应的表,测试代码如下:

    @Test
    public void getUser() throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        userDao mapper = sqlSession.getMapper(userDao.class);
        List<user> userList = mapper.getUserList();
        for (user user : userList) {
            System.out.println(user);
        }

    }

 

上一篇:mybatis程序随笔


下一篇:如何在“浏览器”里实现一个云端EDA