标签: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,返回值就是配置文件指明的类。
标签:pass 技术分享 pem 图片 date() inf src factory 文件中
原文地址:https://www.cnblogs.com/zkmloveswendy/p/9275812.html