Mybatis的配置和使用

来源:互联网 发布:SEO优化 编辑:程序博客网 时间:2024/06/08 12:26

一,配置需要资源下载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 configurationlog4j.rootLogger=DEBUG,stdout#Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.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配置好并且可以测试了,我也是小白一个,正学习希望把学习的记录一下,自己也可能用到,也许也会帮到大家,