博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis-入门
阅读量:7067 次
发布时间:2019-06-28

本文共 3665 字,大约阅读时间需要 12 分钟。

一、创建项目和数据库

    1.项目名称:mybatis092701

    2.数据库名称:mybatis

        表名:dept

        CREATE TABLE `dept` (

          `deptNo` int(11) NOT NULL,

          `deptName` varchar(30) DEFAULT NULL,

          `location` varchar(100) DEFAULT NULL,

          PRIMARY KEY (`deptNo`)

        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

        表名:emp

        CREATE TABLE `emp` (

          `empNo` int(11) NOT NULL,

          `empName` varchar(30) DEFAULT NULL,

          `hireDate` date DEFAULT NULL,

          `job` varchar(30) DEFAULT NULL,

          `salary` double DEFAULT NULL,

          `mgr` int(11) DEFAULT NULL,

          `comm` double DEFAULT NULL,

          `deptNo` int(11) DEFAULT NULL,

          PRIMARY KEY (`empNo`)

        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

二、添加jar包支持

    junit-4.4.jar

    mybatis-3.2.2.jar

    mysql-connector-java.jar

三、添加配置文件

    1.在项目中创建conf目录

        /conf

    2.在conf目录添加配置文件

        配置文件名称: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>

            <typeAliases>

                <typeAlias alias="Emp" type="cn.jbit.mybatis092701.domain.Emp"/>

            </typeAliases>

            <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://localhost:3306/mybatis"/>

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

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

                    </dataSource>

                </environment>

            </environments>

        </configuration>

四、创建实体类

    1.在src下创建包

        cn.jbit.mybatis092701.domain

    2.在包下创建实体类

        类名:Dept.java

        public class Dept implements Serializable {

            private Integer deptNo;//部门编号

            private String deptName;//部门名称

            private String location;//部门地址

            //get and set 省略

        }

        类名:Emp.java

        public class Emp implements Serializable {

            //员工编号

            private Integer empNo;

            //员工姓名

            private String empName;

            //员工入职时间

            private Date hireDate;    

            //员工职位

            private String job;

            //员工工资

            private Double salary;

            //经理编号

            private Integer mgr;

            //奖金

            private Double comm;

            //部门编号

            private Integer deptNo;

            //get and set 省略

        }

五、持久层设计

    接口设计

    1.在src下创建包

        cn.jbit.mybatis092701.dao

    2.在包下创建接口

        接口名:IEmpDao.java

        内容:

        /**

         * 员工持久层接口

         * @author Administrator

         *

         */

        public interface IEmpDao {

            //查询所有员工个数

            public int countAll();

        }

    实现类设计

    1.在src下创建包

        cn.jbit.mybatis092701.dao.impl

    2.在包下创建类

        类名:EmpDaoImpl.java

        内容:

        public class EmpDaoImpl implements IEmpDao {

            @Override

            public int countAll() {

                //加载配置文件

                String resource = "mybatis-config.xml";

                Reader reader = null;

                SqlSessionFactory factory = null;

                SqlSession session = null;

                int iCount = 0;

                try {

                    //输入流

                    reader = Resources.getResourceAsReader(resource);

                    //创建工厂

                    //SqlSessionFactory

                    SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

                    factory = builder.build(reader);

                    session = factory.openSession();

                    //cn.jbit.mybatis092701.dao.IEmpDao命名空间

                    //mycountAll:id名称

                    iCount = session.selectOne("cn.jbit.mybatis092701.dao.IEmpDao.mycountAll");

                    System.out.println(iCount);

                } catch (IOException e1) {

                    e1.printStackTrace();

                }finally {

                    session.close();

                }

                return iCount;

            }

        }

六、创建映射文件

    1.conf下创建映射文件

        映射文件名称:EmpDaoMapper.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="cn.jbit.mybatis092701.dao.IEmpDao">

               <select id="mycountAll" resultType="int">

                  SELECT count(*) FROM emp;

             </select>

        </mapper>

    2.在核心配置文件中添加引用映射文件

        <mappers>

            <mapper resource="EmpDaoMapper.xml"/>

        </mappers>

七、测试

    1.在项目中创建test目录

        /test

    2.在test目录下创建包

        cn.jbit.mybatis092701.dao

    3.在包下创建测试类

        类名:EmpDaoTest.java

        内容:

        public class EmpDaoTest {

            private static IEmpDao empDao = new EmpDaoImpl();

            @Test

            public void testCountAll() {

                int iCount = empDao.countAll();

                System.out.println("the emp record is "+iCount);

            }

        }

本文转自  素颜猪  51CTO博客,原文链接:http://blog.51cto.com/suyanzhu/1558747

转载地址:http://pjall.baihongyu.com/

你可能感兴趣的文章
Flutter-基础认知
查看>>
归档 OmniFocus 中已完成的任务到 印象笔记 Evernote
查看>>
移动端布局 全套解决方案 (附代码)
查看>>
ObjC 多线程简析(二)- os_unfair_lock的类型和自旋锁与互斥锁的比较
查看>>
结构模式 01-外观模式(facade)
查看>>
源码阅读:AFNetworking(十二)——UIButton+AFNetworking
查看>>
Kubernetes Helm入门指南
查看>>
记使用hexo搭建个人博客(二)
查看>>
https理论与实践
查看>>
程序员在简书|努力奔跑
查看>>
用commander做一个自己的eslint脚手架
查看>>
iOS下JS与OC互相调用(五)--UIWebView + WebViewJavascriptBridge
查看>>
学习报告
查看>>
纵享丝滑滑动切换的周月日历,水滴效果,丰富自定义日历样式,仿小米日历(ViewDragHelper实现)...
查看>>
C++检索
查看>>
优化体系结构 - 数据外置减少中间表
查看>>
PAT A1120
查看>>
如何在 Titanic Kaggle Challenge 中获得0.8134分
查看>>
前端新手秘籍丶
查看>>
Spring Security OAuth 个性化token
查看>>