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

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

01.MyBatis简介

MyBatis 本是的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 201311月迁移到Github

iBatis是半ORM映射框架,它需要在数据库里手动建表,CURD操作时要自己写SQL语句,而Hibernate是全ORM映射框架,它只需要配置好文件,表会自动生成,CURDSQL语句也是自动生成的,这是他们的主要区别。

搭建MyBatis 首先需要引入jar包

 

搭建小配置文件

 

其次是搭建大配置文件,并与小配置相关联

 

创建实体类,并封装
package cn.happy.entity;public class Dept {    private Integer deptno;//部门编号    private String deptname;//部门名称    public Integer getDeptno() {        return deptno;    }    public void setDeptno(Integer deptno) {        this.deptno = deptno;    }    public String getDeptname() {        return deptname;    }    public void setDeptname(String deptname) {        this.deptname = deptname;    }}

最后书写测试类

小配置:

测试类:

static SqlSession session;    @Before    public void initData() throws Exception{        SqlSessionFactoryBuilder sb=new SqlSessionFactoryBuilder();        Reader reader=new FileReader("src/mybatis-config.xml");        SqlSessionFactory factory = sb.build(reader);        session = factory.openSession();    }    @Test  //检索所有部门名称    public void testSelectDept() throws Exception{                List
list = session.selectList("selectDept"); for (Dept dept : list) { System.out.println(dept.getDeptname()); } session.close(); }

运行结果:

小配置:

//添加数据 insert into Y2162Dept values(#{deptno},#{deptname})
//按部门编号修改部门名称 update Y2162Dept set deptname=#{deptname} where deptno=#{deptno}
//按部门编号删除部门 delete from Y2162Dept where deptno=#{deptno}

 

测试类:

//增加    @Test    public void testInsertDept() throws Exception{        Dept dt=new Dept();        dt.setDeptno(22);        dt.setDeptname("月饼部");            int count = session.insert("insertDept", dt);        session.commit();        System.out.println(count);        session.close();    }                //修改    @Test    public  void testupdateDeptById() throws Exception{        Dept dt=new Dept();        dt.setDeptno(101);        dt.setDeptname("月饼不");        int count = session.update("updateDeptById",dt);        session.commit();        System.out.println(count);        session.close();    }            //删除    @Test    public  void testdeleteDeptById() throws Exception{        Dept dt=new Dept();        dt.setDeptno(101);        int count = session.delete("deleteDeptById",dt);        session.commit();        System.out.println(count);        session.close();    }

还可以通过getMapper()方法查询数据

创建一个接口IDeptDao

package cn.happy.dao;import java.util.List;import cn.happy.entity.Dept;public interface IDeptDao {    public List
getAllDepts();}

创建getMapper.xml配置文件

测试类代码:

//使用getMapper()检索所有数据    @Test    public void testgetAllDepts(){        IDeptDao mapper = session.getMapper(IDeptDao.class);        List
list=mapper.getAllDepts(); for (Dept dept : list) { System.out.println(dept.getDeptname()); } }

运行结果:

 

转载于:https://www.cnblogs.com/Smile-123/p/5881809.html

你可能感兴趣的文章
投资数据中心所考虑的重要因素
查看>>
第一太阳能公司(First Solar)在罗斯资本公司的评级上调
查看>>
德国软件巨头SAP旗下风投基金募集10亿美元 专门投资科技初创公司
查看>>
保险报业携手万丈金数 探索大数据应用升级
查看>>
诺基亚正式收购阿朗:物联网时代再出发
查看>>
SAP Business One助力洛德集团实现巨大商业价值
查看>>
单晶组件的平价上网路线
查看>>
路由器LED闪灯泄露数据
查看>>
微软公司将在英国开设三个数据中心
查看>>
解析弱电安防监控管理系统的安装技术重点
查看>>
Oracle新一代数据库机 助所有规模企业迈向云端
查看>>
2017年中国大功率UPS市场需求、市场需求及市场结构占比分析预测
查看>>
三星集团总市值达3220亿美元,高阿里巴巴近千亿
查看>>
高通在物联网领域已经深耕多年
查看>>
广州运营开放式数据交易平台发力大数据业务
查看>>
程维谈智慧交通:我们赶上好时代 走出了自己路
查看>>
中国光伏新增装机容量猛增
查看>>
数据库建立索引的原则
查看>>
林洋能源:布局能源互联网 分布式光伏龙头再扬帆
查看>>
理解 Linux/Unix 登录脚本
查看>>