码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis(一)

时间:2018-07-06 23:33:05      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:pass   技术分享   pem   图片   date()   inf   src   factory   文件中   

一. 环境搭建

首先,需要的jar包以及源码从GitHub上下载,地址为:https://github.com/mybatis/mybatis-3/releases,从这里可以看到各个历史版本。jar包解压后,里面有一个官方的Mybatis文档。Mybatis的jar包就一个:mybatis-3.4.6.jar.里面其他的jar包是一些辅助的包,非必须。

小技巧:下载的源码可以用来在Eclipse中与mybatis进行关联,这样就能看到源码以及注释了,有助于学习。

方法:如图,双击mybatis包中的一个类,右边出现Attach Source按钮,点击之,选中Mybatis的源码(打包的zip文件),关联以后,就可以看到源码了。

源码如下:

 技术分享图片

鼠标放到某一个类或借口上,可以看到源码中写的注释:

 技术分享图片

然后建立一个Java工程,建立如下的包和目录,并Build Path,将Mybatis相关的包都引入,还有一个MySQL驱动包也需要引入,因为需要连接数据库。

 技术分享图片

二.           各个文件中的内容以及解析

mybatis-config.xml:

<?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://192.168.0.5:3306/test" />

           <property name="username" value="root" />

           <property name="password" value="123456" />

        </dataSource>

      </environment>

   </environments>

   <mappers>

      <mapper resource="mapper/TestManageTypeMapper.xml" />

   </mappers>

</configuration>

该配置文件分为两部分,第一部分是mysql数据库的相关配置信息,后面是Java bean类对应的xml配置文件,内容如下:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.zkm.learn.mybatis.bean.TestManageTypeMapper">

   <select id="selectTestManageType" resultType="com.zkm.learn.mybatis.bean.TestManageType">

      select * from test_manage_type where MANAGE_TYPE_ID = #{id}

   </select>

</mapper>

   namespace写成什么无所谓,这里写成java类的包名加上TestManageTypeMapper,即类名加Mapper。resultType是在调用该方法时返回的数据类型,这里写Bean类的全名。Select语句就是该方法执行的SQL语句。这里要与调用时的方法对应着看。

三.           启动测试

新建上图所示的Junit测试类MybatisTest,内容如下:

 

public class MybatisTest {

 

   @Before

   public void befores(){

      System.out.println(new Date());

   }

   @Test

   public void test() throws IOException {

//    fail("Not yet implemented");

      String resource = "conf/mybatis-config.xml";

      InputStream inputStream = Resources.getResourceAsStream(resource);

      SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

      SqlSession sqlSession = sqlSessionFactory.openSession();

      try{

        String id = "4028804c599cdafd0159a1ccbb19004e";

        TestManageType type = sqlSession.selectOne("com.zkm.learn.mybatis.bean.TestManageTypeMapper.selectTestManageType", id);

        System.out.println(type);

      }finally{

        sqlSession.close();

      }

   }

 

}

该文件首先载入配置文件mybatis-config.xml,然后获取session,执行session的方法selectOne,注意该方法第一个参数上述TestManagerTypeMapper.xml配置文件中的namespace加上select id,后面是表的ID,返回值就是配置文件指明的类。

mybatis(一)

标签:pass   技术分享   pem   图片   date()   inf   src   factory   文件中   

原文地址:https://www.cnblogs.com/zkmloveswendy/p/9275812.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!