一,配置需要资源下载mybatis的jar包,这里给出github的下载地址https://github.com/mybatis/mybatis-3/releases
我用的是最新的3.4.4的jar包
1.在eclipse创建一个工程用来测试mybatis的配置和使用
2.下载的jar包如图结构
把lib文件夹中的所有jar包copy到你的工程的libs中如下图:
然后全部选中点击右键—》Buile path —》Add to Build path如下
好了,弄好以后在就会在工程的Referenced Libraries 目录中出现如下
这样我们就把jar导入了我的工程中
3.需要在自己的工程下创建config文件,在config文件夹下创建sqlmap文件夹 和log4j.properties和SqlMapConfig.xml
在sqlmap文件夹下创建user.xml
具体到吗如下:
user.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">
<!--namespace 是命名空间,作用是对sql进行分类化管理,可以理解问sql的隔离
注意:使用mapper代理开发,namespace有特殊重要的作用 -->
<mapper namespace="test">
<!-- 在映射文件中配置很多sql语句 -->
<!-- 通过select执行数据库查询,id:标识映射文件的sql,将sql语句分装到mappedstatment对象中,所以将id称为statment的id-->
<!--parameterType表示指定输入参数的类型 -->
<!--resultType指定sql输出结果的所映射的java对象类型,select指定 resultType表示将单条记录映射成的java对象,简单点说就是把数据库中的数据映射到user实体类中 -->
<select id="findUserByid" parameterType="int" resultType="mybatisTest.po.User">
<!-- 根据id查询 #{}表示不确定的id -->
<!-- #{id}其中的id表示输入的参数,参数名称就是id如果输入参数是简单类型,#{}中的参数可以任意,可以value或其他 -->
SELECT * FROM USER WHERE id=#{id}
</select>
</mapper>
log4j.properties
#Global logging configuration
log4j.rootLogger=DEBUG,stdout
#Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
SqlMapConfig.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>
<!--和spring整合后environments配置废除 -->
<environments default="development">
<environment id="development">
<!--使用jdbc事务管理 -->
<transactionManager type="JDBC"/>
<!--使用数据库连接池 有mybatis管理 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/数据库的名字"/>
<property name="username" value="数据库的用户名"/>
<property name="password" value="数据库的密码"/>
</dataSource>
</environment>
</environments>
<!--加载映射文件 -->
<mappers>
<mapper resource="sqlmap/user.xml"/>
</mappers>
</configuration>
然后在src中创建两个类如下
User.java就是自己写的一个实体类需要加数据库中的字段
MybatisFirst.java的代码
package mabatisTestFirst;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import mybatisTest.po.User;
/*
* 程序入口
*/
public class MybatisFirst {
//根据id查询用户信息,得到一条记录
@Test
public void findUserByidTest() throws IOException{
//mybatis的配置文件
String resource="SqlMapConfig.xml";
InputStream inputStream=Resources.getResourceAsStream(resource);
//创建回话工厂,传入mybaitis文件的配置信息
SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
//通过工厂得到sqlsession
SqlSession sqlSession= sessionFactory.openSession();
//通过工厂得到sqlsession操作数据库
//selectOne("test.findUserByid","1")的第一个参数是user.xml中的namespace和select的id
//第二个参数是指定和映射文件中所指定的parameterType类型的参数(最后映射成user对象,也就是user.xml中的resultType)
User user=sqlSession.selectOne("test.findUserByid",1);
System.out.println(user);
//释放资源
sqlSession.close();
}
}
好了这样我们就把mybatis配置好了,只不过这里我没有给出User的代码和数据库的表,因需求而定,做完了这些就把mybatis配置好并且可以测试了,我也是小白一个,正学习希望把学习的记录一下,自己也可能用到,也许也会帮到大家,