MyBatis-搭建MyBatis开发环境一(MyEclipse版)

原创 2016年05月30日 09:52:38

一、引入MyBatis及其相关jar包
1、mybatis-3.2.2.jar:mybatis的jar包
2、mysql-connector-java-5.1.0-bin.jar:MySQL数据库jar包
3、log4j-1.2.16.jar:日志、用于开发显示提示信息如执行的SQL语句及参数


二、新建mybatis-config.xml配置文件

这里写图片描述

1、在项目下新建一个源码文件夹resources,在里面新建一个xml取名为mybatis-config.xml

2、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">

三、在mybatis-config.xml中配置数据库相关信息

<configuration>
    <!-- default属性表示采用哪种配置 -->
    <environments default="development">
        <!-- 配置情况的一种,可以有多个,根据environments 的default来指定使用哪一种 -->
        <environment id="development">
            <!-- 配置事务管理 采用JDBC -->
            <transactionManager type="JDBC"/>
            <!-- POOLED:mybatis的数据源,JNDI:基于tomcat的数据源 -->
            <dataSource type="POOLED">
                <!-- 数据库连接信息 -->
                <property name="driver" value="${driver}" />
                <property name="url" value="${url}" />
                <property name="username" value="${username}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>
</configuration>

四、创建数据库properties文件

这里写图片描述

1、在resources源码文件夹下新建一个properties文件,这里我取名叫jdbc.properties,然后再里面写入数据库连接相关信息。

2、然后在mybatis-config.xml文件内配置jdbc.properties文件路径

这里写图片描述


五、配置Log4j,让控制台输出SQL语句及参数相关信息

这里写图片描述

1、在resources文件夹下新建log4j.properties文件

2、log4j.properties参考内容

log4j.rootLogger=DEBUG,CONSOLE,file
#log4j.rootLogger=ERROR,ROLLING_FILE
log4j.logger.cn.jbit.dao=debug
log4j.logger.com.ibatis=debug 
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug 
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug 
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug 
log4j.logger.java.sql.Connection=debug 
log4j.logger.java.sql.Statement=debug 
log4j.logger.java.sql.PreparedStatement=debug 
log4j.logger.java.sql.ResultSet=debug 
log4j.logger.org.tuckey.web.filters.urlrewrite.UrlRewriteFilter=debug

######################################################################################
# Console Appender  \u65e5\u5fd7\u5728\u63a7\u5236\u8f93\u51fa\u914d\u7f6e
######################################################################################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=error
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= [%p] %d %c - %m%n


######################################################################################
# DailyRolling File  \u6bcf\u5929\u4ea7\u751f\u4e00\u4e2a\u65e5\u5fd7\u6587\u4ef6\uff0c\u6587\u4ef6\u540d\u683c\u5f0f:log2009-09-11
######################################################################################
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern=yyyy-MM-dd
log4j.appender.file.File=log.log
log4j.appender.file.Append=true
log4j.appender.file.Threshold=error
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n


log4j.logger.com.opensymphony.xwork2=error  

3、在mybatis-config.xml配置文件内添加如下配置

    <settings>
        <!-- 配置mybatis的log实现为LOG4J 后台输出SQL语句-->
        <setting name="logImpl" value="LOG4J"/>
    </settings>

六、测试
1、在数据库中新建表emp

这里写图片描述

2、创建表对应的实体类

这里写图片描述

3、新建EmpMapper.xml文件

这里写图片描述

4、EmpMapper.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">

5、编写EmpMapper.xml文件

<mapper namespace="com.bc.dao.EmpMapper">
    <!-- 添加Emp数据,parameterType -->
    <insert id="addEmp" parameterType="com.bc.pojo.Emp">
        insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) 
            values(#{empno},#{ename},#{job},#{mgr},#{hiredate},#{sal},#{comm},#{deptno})
    </insert>

    <!-- 更新Emp数据 -->
    <update id="updateEmp" parameterType="com.bc.pojo.Emp">
        update emp set ename=#{ename},job=#{job},mgr=#{mgr},hiredate=#{hiredate},sal=#{sal},
            comm=#{comm},deptno=#{deptno} 
                where empno=#{empno}
    </update>

    <!-- 查询所有雇员信息 -->
    <select id="getEmpList" resultType="com.bc.pojo.Emp">
        select * from Emp
    </select>

    <!-- 删除雇员信息 -->
    <delete id="deleteEmp" parameterType="com.bc.pojo.Emp">
        delete from Emp where empno=#{empno}
    </delete>
</mapper>

这里写图片描述

6、在mybatis-config.xml中引入EmpMapper.xml(不要忘记)

<mappers>
    <!-- 要用"/"而不是"." -->
    <mapper resource="com/bc/dao/EmpMapper.xml"/>
</mappers>

7、测试代码

public class EmpTest {

    private Logger logger = Logger.getLogger(EmpTest.class);

    @Test
    /**添加Emp测试*/
    public void addEmpTest() {
        //mybatis-config.xml文件路径
        String resource = "mybatis-config.xml";
        SqlSession sqlSession = null;
        //要插入的Emp对象
        Emp emp = new Emp();
        emp.setEname("测试");
        emp.setDeptno(1);

        try {
            //1 读取配置文件(mybatis-config.xml)的输入流
            InputStream is = Resources.getResourceAsStream(resource);
            //2 创建sqlSessionFactory对象,完成对配置文件的读取
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
            //3 创建sqlSession
            sqlSession = factory.openSession();
            //4 调用mapper文件进行数据操作(调用之前必须要把mapper文件加入到mybatis-config.xml)
            sqlSession.insert("com.bc.dao.EmpMapper.addEmp", emp);
            //5 提交事务
            sqlSession.commit();
        } catch (Exception e) {
            e.printStackTrace();
            //出现异常回滚事务
            sqlSession.rollback();
        } finally {
            //关闭会话
            sqlSession.close();
        }
    }

    /**更新Emp测试*/
    public void updateEmpTest() {
        //mybatis-config.xml文件路径
        String resource = "mybatis-config.xml";
        SqlSession sqlSession = null;
        //要更新的Emp对象
        Emp emp = new Emp();
        emp.setEmpno(65);
        emp.setEname("更新测试");

        try {
            //1 读取配置文件(mybatis-config.xml)的输入流
            InputStream is = Resources.getResourceAsStream(resource);
            //2 创建sqlSessionFactory对象,完成对配置文件的读取
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
            //3 创建sqlSession
            sqlSession = factory.openSession();
            //4 调用mapper文件进行数据操作(调用之前必须要把mapper文件加入到mybatis-config.xml)
            sqlSession.update("com.bc.dao.EmpMapper.updateEmp", emp);
            //5 提交事务
            sqlSession.commit();
        } catch (Exception e) {
            e.printStackTrace();
            //出现异常回滚事务
            sqlSession.rollback();
        } finally {
            //关闭会话
            sqlSession.close();
        }
    }

    /**查询Emp测试*/
    public void getEmpListTest() {
        //mybatis-config.xml文件路径
        String resource = "mybatis-config.xml";
        SqlSession sqlSession = null;
        //查询结果集
        List<Emp> empList = new  ArrayList<>();

        try {
            //1 读取配置文件(mybatis-config.xml)的输入流
            InputStream is = Resources.getResourceAsStream(resource);
            //2 创建sqlSessionFactory对象,完成对配置文件的读取
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
            //3 创建sqlSession
            sqlSession = factory.openSession();
            //4 调用mapper文件进行数据操作(调用之前必须要把mapper文件加入到mybatis-config.xml)
            empList = sqlSession.selectList("com.bc.dao.EmpMapper.getEmpList");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //关闭会话
            sqlSession.close();
        }

        //遍历数据
        for (Emp emp : empList) {
            logger.debug(emp.getEname());
        }
    }

    /**删除Emp测试*/
    public void deleteEmpTest() {
        //mybatis-config.xml文件路径
        String resource = "mybatis-config.xml";
        SqlSession sqlSession = null;
        //要删除的Emp对象
        Emp emp = new Emp();
        emp.setEmpno(65);

        try {
            //1 读取配置文件(mybatis-config.xml)的输入流
            InputStream is = Resources.getResourceAsStream(resource);
            //2 创建sqlSessionFactory对象,完成对配置文件的读取
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
            //3 创建sqlSession
            sqlSession = factory.openSession();
            //4 调用mapper文件进行数据操作(调用之前必须要把mapper文件加入到mybatis-config.xml)
            sqlSession.delete("com.bc.dao.EmpMapper.deleteEmp", emp);
            //5 提交事务
            sqlSession.commit();
        } catch (Exception e) {
            e.printStackTrace();
            //出现异常回滚事务
            sqlSession.rollback();
        } finally {
            //关闭会话
            sqlSession.close();
        }
    }
}

8、执行结果(以插入为例)

这里写图片描述

七、总结
从以上代码可以看出,有很多臃肿的地方,比如类名使用完全包名+类名可以使用别名优化,测试代码很多重复性的代码可以提取出来等,这些问题参考下一篇博客
下一篇:MyBatis-搭建MyBatis开发环境二(MyEclipse版)

版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

MyBatis-搭建MyBatis开发环境一(MyEclipse版)

一、引入MyBatis及其相关jar包  1、mybatis-3.2.2.jar:mybatis的jar包  2、mysql-connector-java-5.1.0-bin.jar:MySQL数据库...

MyEclipse开发MyBatis入门程序

1、环境 myeclipse2014 jar包: mybatis-3.2.3.jar mysql-connector-java-5.1.24.jar 2、项目搭建 2.1新建java 工程MyBati...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

MyEclipse开启Mybatis-config.xml配置文件智能提示

使用Java开发的程序员一般在学习的时候,可能都会涉及到使用配置文件,在使用Eclipse类似IDE进行编辑配置配置文件的时候,如果配置文件不能自动联想,是一件比较恼人的事情。笔者这里拿mybatis...
  • H12KJGJ
  • H12KJGJ
  • 2017年02月12日 11:41
  • 3244

MyBatis-搭建MyBatis开发环境二(MyEclipse版)

上一篇文章讲了如何搭建MyBatis开发环境,这篇主要补充下相关代码优化。 上一篇:MyBatis-搭建MyBatis开发环境一(MyEclipse版)1、使用别名简化类路径配置上一篇文章里这里我们...

MyBatis Generator myeclipse 生成 mybatis

在下载好的插件包解压,找到generator-master\eclipse\UpdateSite目录下的feauresj和plugins放在myeclipse的相应目录下 以下为配置文件...

mybatis实现的对数据的增删查改

mybatis实现的对数据的增删查改 前期准备 新建java工程或java wweb工程, 需要导入以下的包, 基本工作已经完成,接下来开始进入正题。 新建实体类 新建与数据库表对应的实体类 ...

MyEclipse使用MyBatis Generator 工具逆向生成映射文件

MyEclipse使用MyBatis Generator 工具逆向生成映射文件
  • baalhuo
  • baalhuo
  • 2016年05月21日 12:34
  • 5822

Mybatis---详解Mybatis-config.xml配置文件

经过前面的两篇博文,我觉得对Mybatis的正题理解已经足够了,但是对Mybatis的使用,我觉得还是会有一点的模糊,就我个人而言,我觉得掌握好Mybatis框架,主要要明白三个文件,第一个就是等下要...

mybatis映射文件mapper.xml的写法。

在学习mybatis的时候我们通常会在映射文件这样写: PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dt...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MyBatis-搭建MyBatis开发环境一(MyEclipse版)
举报原因:
原因补充:

(最多只允许输入30个字)