Mybatis框架学习总结--1如何搭建
来源:互联网 发布:js object length 编辑:程序博客网 时间:2024/06/05 08:15
第一次学习使用Mybatis框架进行开发,希望将自己的学习心得记录下来,同大家分享。
使用Mybatis做开发的流程:
1. 下载Mybatis.jar包
2. 部署jat包
3. 编写Mybatis配置文件
4. 创建实体类和数据库接口
5. 创建SQL映射文件
6. 创建数据库接口的实现类
7. 编写测试类进行测试
接下来通过实际的简单项目操作进行展示。
最后完成的小项目的目录夹如下图:
第一步,下载Mybatis的jar包。我上传在我的服务器上,地址是:点击下载
第二步,新建eclipse项目,下载完的jar导入到项目中的lib文件夹中,右击jar包–>build path–>add to build path
第三步,编写Mybatis配置文件,即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> <!--简化代码,使用Emp代替com.entity.Emp类,在EmpDaoMapper的映射文件中,代码将快捷干净很多 --> <typeAliases> <typeAlias alias="Emp" type="com.entity.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/emp?characterEncoding=utf8" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <!-- 注册EmpDaoMapper.xml文件,EmpDaoMapper.xml位于com.dao这个包下,所以resource写成com/dao/EmpDaoMapper.xml--> <mappers> <mapper resource="com/dao/EmpDaoMapper.xml" /> </mappers></configuration>
第四步,创建实体类和数据库接口
1.数据库创建新的数据库,创建表emp,设置相关的字段并插入值
CREATE TABLE emp( empno INT, ename VARCHAR(50), job VARCHAR(50), mgr INT, hiredate DATE, sal DECIMAL(7,2), comm DECIMAL(7,2), deptno INT) ;INSERT INTO emp VALUES(7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);INSERT INTO emp VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30);INSERT INTO emp VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30);INSERT INTO emp VALUES(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);INSERT INTO emp VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30);INSERT INTO emp VALUES(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30);INSERT INTO emp VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10);INSERT INTO emp VALUES(7788,'SCOTT','ANALYST',7566,'1987-04-19',3000,NULL,20);INSERT INTO emp VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);INSERT INTO emp VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30);INSERT INTO emp VALUES(7876,'ADAMS','CLERK',7788,'1987-05-23',1100,NULL,20);INSERT INTO emp VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30);INSERT INTO emp VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20);INSERT INTO emp VALUES(7934,'MILLER','CLERK',7782,'1982-01-23',1300,NULL,10);
2.创建与数据表emp对应的实体类
package com.entity;import java.util.Date;public class Emp { private Integer empno; private String empName; private Date hireDate; private String job; private Double salary; private Integer mgr; private Double comm; private Integer deptNo; public Integer getEmpno() { return empno; } public void setEmpno(Integer empno) { this.empno = empno; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } public Date getHireDate() { return hireDate; } public void setHireDate(Date hireDate) { this.hireDate = hireDate; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public Double getSalary() { return salary; } public void setSalary(Double salary) { this.salary = salary; } public Integer getMgr() { return mgr; } public void setMgr(Integer mgr) { this.mgr = mgr; } public Double getComm() { return comm; } public void setComm(Double comm) { this.comm = comm; } public Integer getDeptNo() { return deptNo; } public void setDeptNo(Integer deptNo) { this.deptNo = deptNo; }}
3.创建数据库接口
package com.dao;import java.util.List;import com.entity.Emp;public interface IEmpDao { //创建全选数据库的数据,返回值类型是以List储存的Emp对象的集合 public List<Emp> selectAll();}
第五步,创建SQL映射文件
<?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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 --><mapper namespace="com.dao.IEmpDao"> <!-- 优化代码映射管理,一次设置,下面可优化重复使用 --> <resultMap id="empResultMap" type="com.entity.Emp"> <id property="empno" column="empno" /> <result property="empName" column="ename" /> <result property="hireDate" column="hiredate" /> <result property="job" column="job" /> <result property="salary" column="sal" /> <!-- 别名储存数据,数据库取出的数据为column栏目命名,根据部分在实体类中的命名进行对应 --> <result property="comm" column="comm" /> <result property="mgr" column="mgr" /> <result property="deptNo" column="deptno" /> </resultMap> <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为selectAll,id属性值必须是唯一的,不能够重复;使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型, resultType="empResultMap"就表示将查询结果封装成一个emp类的对象返回emp类就是emp表所对应的实体类 --> <select id="selectAll" resultType="Emp" resultMap="empResultMap"> SELECT * FROM EMP </select></mapper>
第六步,创建数据库接口的实现类
package impl;import java.io.IOException;import java.io.Reader;import java.util.ArrayList;import java.util.List;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 com.dao.IEmpDao;import com.entity.Emp;public class EmpDaoImpl implements IEmpDao { //继承,实现具体操作 @Override public List<Emp> selectAll() { //加载配置文件,创建session仓库,可以在熟练掌握之后进行代码的封装,优化代码,实现重用 String resource = "mybatis-config.xml"; Reader reader = null; SqlSessionFactory factory = null; SqlSession session = null; List<Emp> list = new ArrayList<Emp>(); try { reader = Resources.getResourceAsReader(resource); SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); factory = builder.build(reader); session = factory.openSession(); //执行操作,对应映射文件具体的id--selectAll //session.后的方法有selectOne,insert等,对应不同的数据操作,如果是对数据原本数据有影响的操作,需要之后加上session.commit(); list = session.selectList("com.dao.IEmpDao.selectAll"); } catch (IOException e1) { e1.printStackTrace(); } finally { session.close(); } return list; }}
第七布,测试显示类
package test;import java.util.Date;import java.util.List;import com.dao.IEmpDao;import com.entity.Emp;import impl.EmpDaoImpl;public class testMybatis { public static void main(String[] args) { IEmpDao empDao = new EmpDaoImpl(); List<Emp> list = empDao.selectAll(); System.out.println("全部的员工信息:"); for (Emp em : list) { System.out.println("员工编号" + em.getEmpno() + " 员工姓名:" + em.getEmpName() + " 职位:" + em.getJob() + "部门:"+ em.getDeptNo()); } System.out.println("------------------------------------"); }}
展示台结果:
楼主联系QQ:841400592。欢迎各位志同道合的朋友一起来讨论学习,如果觉得还行也欢迎转载。
阅读全文
0 0
- Mybatis框架学习总结--1如何搭建
- 如何搭建mybatis框架
- mybatis学习一框架搭建
- springmvc+mybatis框架学习总结
- 初次学习Mybatis框架总结
- Spring+SpringMVC+mybatis框架环境搭建总结
- spring+springmvc+mybatis框架搭建总结
- mybatis学习之路----框架搭建
- 【Mybatis学习】利用SpringBoot搭建SSM框架
- [知了堂学习笔记]_mybatis_02如何快速搭建mybatis框架之一
- [知了堂学习笔记]_mybatis_03如何快速搭建mybatis框架之二
- Mybatis学习总结(二) 搭建
- MyBatis学习总结1
- SSM(Spring+SpringMVC+MyBatis)开发框架的搭建个人总结
- SpringMVC+Spring+Mybatis框架整合项目搭建总结
- idea+spring+springmvc+mybatis+log4j+maven框架搭建 总结
- JavaWeb框架-MyBatis-1-环境搭建
- springMVC+mybatis框架搭建
- C语言复习||数据类型
- android 仿日历翻页特效、仿htc时钟翻页特效、数字翻页切换
- [cocos2d-x]关于动画
- LeetCode OJ 20 Valid Parentheses [Easy]
- 如何在虚拟机上安装linux系统
- Mybatis框架学习总结--1如何搭建
- 浅谈CSRF攻击
- API-集合框架(5)-Map
- ubuntu adb unautorized的解决办法
- 剑指offer:替换空格 java版
- python scikit-image
- 前端布局引擎bshow
- [bzoj3790]神奇项链 manacher
- JVM 运行时数据区域