博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis-添加操作
阅读量:6899 次
发布时间:2019-06-27

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

一、创建项目和数据库
    项目名称:mybatis092901
    数据库名称:mybatis0929
        表名称:dept
        CREATE TABLE `dept` (
          `deptNo` int(11) NOT NULL,
          `deptName` varchar(30) DEFAULT NULL,
          `location` varchar(30) DEFAULT NULL,
          PRIMARY KEY (`deptNo`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
        表名称:emp
        CREATE TABLE `emp` (
          `empno` int(11) NOT NULL,
          `ename` varchar(30) DEFAULT NULL,
          `hiredate` date DEFAULT NULL,
          `job` varchar(30) DEFAULT NULL,
          `sal` double DEFAULT NULL,
          `mgr` varchar(30) DEFAULT NULL,
          `comm` varchar(30) DEFAULT NULL,
          `deptno` int(11) DEFAULT NULL,
          PRIMARY KEY (`empno`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
二、添加jar包
    1.在项目上创建lib目录
        /lib
    2.在lib目录下添加jar
        junit-4.10.jar
        mybatis-3.2.2.jar
        mysql-connector-java-5.1.10-bin.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.mybatis092901.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/mybatis0929"/>
                    <property name="username" value="root"/>
                    <property name="password" value="root"/>
                    </dataSource>
                </environment>
            </environments>
        </configuration>
四、创建实体类
    1.在src目录下创建包
        包名:cn.jbit.mybatis092901.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 String empName;
            //员工编号
            private Integer empNo;
            //员工入职时间
            private Date hireDate;    
            //员工职位
            private String job;
            //员工工资
            private Double salary;
            //经理编号
            private Integer mgr;
            //奖金
            private Double comm;
            //部门编号
            private Integer deptNo;
            //省略get and set 
        }
五、持久层设计
    1.接口设计
        1).在src目录创建包
            包名:cn.jbit.mybatis092901.dao
        2).在包下创建接口
            接口名:IEmpDao.java
            接口中内容:
            public interface IEmpDao {

                /**
                 * 10.2.3节示例: 保存员工信息
                 * @param emp
                 */
                public void insertEmp(Emp emp);
            }
六、添加相关映射文件
    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.mybatis092901.dao.IEmpDao">
          <!--
              添加数据操作
              员工编号不是自动增长的 
           -->
          <insert id="insertEmp" parameterType="Emp">
            INSERT INTO 
                emp(empno, ename, job, mgr,hiredate, sal,comm,deptno)
            VALUES
                (#{empNo}, #{empName}, #{job}, #{mgr}, #{hireDate}, #{salary},#{comm},#{deptNo}
            )
          </insert>
         </mapper>
七.持久层实现类设计
        1).在src目录下创建包
            包名:cn.jbit.mybatis092901.dao.impl
        2).在包下创建实现类
            实现类名:EmpDaoImpl.java
            实现类中的内容:
            /**
             * 为了使用代码看起来清晰,SqlSession的获取都使用工具类
             */
            @Override
            public void insertEmp(Emp emp) {

                String resource = "mybatis-config.xml";
                Reader reader = null;
                SqlSessionFactory factory = null;
                SqlSession session = null;
                try {

                    reader = Resources.getResourceAsReader(resource);
                    SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
                    factory = builder.build(reader);
                    session = factory.openSession();
                    session.insert("cn.jbit.mybatis092901.dao.IEmpDao.insertEmp",emp);
                    session.commit();
                } catch (Exception e1) {

                    e1.printStackTrace();
                }finally {

                    session.close();
                }
            }
八、在配置文件中添加映射文件引用
    1.在mybatis-fonfig.xml文件中添加mapper
        <mappers>
            <mapper resource="EmpDaoMapper.xml"/>
        </mappers>
九、测试操作
    1.在项目中创建test目录
        /test
    2.在test目录下创建包
        cn.jbit.mybatis092901.dao
    3.在包下创建测试类
        类名:EmpDaoTest.java
        内容:
        public class EmpDaoTest {

            //员工类的持久层实现
            private static IEmpDao empDao = new EmpDaoImpl();
            /**
             * 添加操作
             * @throws Exception
             */
            @Test
            public void testInsertEmp() throws Exception {

                Emp emp = new Emp();
                emp.setEmpNo(7372);
                emp.setEmpName("张平");
                emp.setJob("职员");
                emp.setMgr(7902);
                emp.setHireDate(new Date());

                emp.setSalary(2008.15);
                emp.setDeptNo(1);
                emp.setComm(1000.25);
                empDao.insertEmp(emp);
            }
        }

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

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

你可能感兴趣的文章
数字3为分隔
查看>>
华章11-12月份新书简介(2017年)
查看>>
第三周作业
查看>>
Vector、ArrayList、List使用深入剖析
查看>>
【调试】Core Dump是什么?Linux下如何正确永久开启?
查看>>
新浪微博API授权
查看>>
电子政务网中信息共享机制的重要性
查看>>
【Visual C++】游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类
查看>>
Struts2的配置
查看>>
[BZOJ1296][SCOI2009]粉刷匠(DP)
查看>>
Executor执行框架
查看>>
[FMX] Android APP 启动黑屏优化补丁
查看>>
常用JavaScript的高级技巧
查看>>
bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘
查看>>
mac编辑器vim美化
查看>>
MD5摘要算法简析
查看>>
《30天自制操作系统》学习笔记一
查看>>
Python.tornado.2.tornado.options
查看>>
mysql关于or的索引问题
查看>>
装在u盘的linux
查看>>