Mybatis配置文件和实体类的映射文件,以及dao层的书写

mybatis-config.xml,配置文件,用于连接数据库。底层使用的是oracle数据库的emp表

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 3 "http://mybatis.org/dtd/mybatis-3-config.dtd">
 4 <configuration>
 5   <environments default="yy">//此处default值可以任意写
 6       <environment id="yy">//id值也可以任意写
 7          <transactionManager type="JDBC"></transactionManager>//事务管理器
 8          <dataSource type="POOLED">//数据源
 9           <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>//连接数据库的驱动
10
11           <property name="url" value="jdbc:oracle:thin:@172.16.17.158:1521:orcl"/>//连接到哪一个数据库
12           <property name="username" value="scott"/>//数据库名
13           <property name="password" value="tiger"/>//数据库密码
14          </dataSource>
15       </environment>
16   </environments>
17   <mappers>
18   <mapper   resource="com/yh/mb/dao/EmpDao-mapper.xml"/>
19   </mappers>
20 </configuration>

数据源类型有三种: UNPOOLED , POOLED , JNDI 。

UNPOOLED - 这个数据源实现只是在每次请求的时候简单的打开和关闭一个连接。虽然这有点慢,但作为一些不需要性能和立即响应的简单应用来说 , 不失为一种好选择 。

POOLED - 这个数据源缓存 JDBC 连接对象用于避免每次都要连接和生成连接实例而需要的验证时间 。对于并发 WEB 应用,这种方式非常流行因为它有最快的响应时间。

JNDI - 这个数据源实现是为了准备和 Spring 或应用服务一起使用,可以在外部也可以在内部配置这个数据源,然后在 JNDI 上下文中引用它。这个数据源配置只需要两上属性:

Emp.java实体类

package com.yh.mb.entity;

import java.io.Serializable;
import java.util.Date;

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;

    public Emp() {
        super();
    }
    public Emp(String empName, Double salary) {
        super();
        this.empName = empName;
        this.salary = salary;
    }
    public String getEmpName() {
        return empName;
    }
    public void setEmpName(String empName) {
        this.empName = empName;
    }
    public Integer getEmpNo() {
        return empNo;
    }
    public void setEmpNo(Integer empNo) {
        this.empNo = empNo;
    }
    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;
    }

}

实体类的映射文件EmpDao-mapper.xml。用于书写sql语句

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 3 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 4 <mapper namespace="com.yh.mb.dao.EmpDao">
 5 <select id="empCout"  resultType="int">
 6 select count(1) from emp
 8 </select>
10 </mapper>

dao层的接口IEmpDao.java

1 package com.yh.mb.dao;
2
3 public interface IEmpDao {
4  public int empCount();
5 }

dao层的实现类EmpDao.java

 1 package com.yh.mb.dao.impl;
 2
 3 import java.io.IOException;
 4 import java.io.Reader;
 5
 6 import org.apache.ibatis.io.Resources;
 7 import org.apache.ibatis.session.SqlSession;
 8 import org.apache.ibatis.session.SqlSessionFactory;
 9 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
10
11 import com.yh.mb.dao.IEmpDao;
12
13 public class EmpDao implements IEmpDao {
14
15     public int empCount() {
16         SqlSessionFactory sqlsf=null;
17         SqlSession sqlsession=null;
18         Reader reader=null;//配置文件字符输入流
19         int count=0;
20         try {
21             reader=Resources.getResourceAsReader("mybatis-config.xml");
22             sqlsf=new SqlSessionFactoryBuilder().build(reader);
23             sqlsession=sqlsf.openSession();
24             count=sqlsession.selectOne("com.yh.mb.dao.EmpDao.empCout");
25         } catch (IOException e) {
26             // TODO Auto-generated catch block
27             e.printStackTrace();
28         }finally{
29             if(sqlsession!=null){
30                 sqlsession.close();
31             }
32
33         }
34         return count;
35     }
36     public static void main(String[] args) {
37         EmpDao empDao=new EmpDao();
38         System.out.println(empDao.empCount());
39     }
40
41 }
时间: 2024-07-31 01:17:20

Mybatis配置文件和实体类的映射文件,以及dao层的书写的相关文章

spring boot集成mybatis 自动生成实体类和mapper文件、Dao层

1.创建spring boot集成mybatis请见 2.在resources目录下新键mybatis-generator文件夹,并在文件夹中新键mybatis-generatorConfig.xml文件和mybatis-generatorinit.properties两个文件 mybatis-generatorinit.properties jdbc_driver=oracle.jdbc.driver.OracleDriver jdbc_url=jdbc:oracle:thin:@loclho

通过MyEclipse生成实体类及映射文件

1.在工程上添加hibernate支持,导入相关包,修改配置文件为如下: hibernate.cfg.xml文件 <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate

java 根据实体类创建映射文件

import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.lang.reflect.Field; import java.util.List; import java.util.Set; import com.mohe.model.entity.Teach; /** * 根据实体类生成映射文件 * * @author dxm * */ public class Obj

SQLserver数据库反编译生成Hibernate实体类和映射文件

一.建立项目和sqlserver数据库 eclipse,我使用的版本是neon3 二.Data Source Explorer 选择OK 在data source Explorer的Database Connections 选择New 填写好General的连接信息 新建New Driver Definition 填写完选择OK 选择刚才的Drivers Test Connetion测试 Next然后Finsh 就这样,成功连接了刚才的hibernatedb那个数据库 三.配置Hibernate

generator自动生成mybatis实体类和配制文件

在学习MyBatis的过程中,发现mybatis确实是非常好用的的框架,但是,手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件.这样可以省去很多的功夫,将生成的代码copy到项目工程中即可.当然了,eclipse上也有类似的插件,不过我选择generator是因为其方便,只需要下载一个jar包就好,下面就来说一下构建过程吧: 我的目录结构如下: 首先:我们需要下载generator的jar包下载地址:http://pan.baidu.com

Mybatis自动生成实体类、dao接口和mapping映射文件

由于Mybatis是一种半自动的ORM框架,它的工作主要是配置mapping映射文件,为了减少手动书写映射文件,可以利用mybatis生成器,自动生成实体类.dao接口以及它的映射文件,然后直接拷贝到工程中稍微修改就可以直接使用了. 生成器目录如下: 首先进入lib文件夹中,该目录如下: (图上文件下载地址:http://download.csdn.net/detail/qiwei31229/9790909) 主要修改generatorConfig.xml <?xml version="1

MyBatis逆向工程,自动生成dao、实体类、mapper文件

利用mybatis generator 自动生成生成dao.实体类.mapper文件这里介绍两种方法:1.独立的文件夹的方式,脱离开发工具2.基于开发工具的方式(Eclipse)1.独立的文件夹的方式,脱离开发工具基本步骤:(方法有多种,这里的方法是脱离项目工程,利用命令行建立文件.后续可以按需复制进工程) 1.下载相应工具 2.依据相应数据库导入相应数据库连接jar包 3.编写generatorConfig.xml文件 4.命令行模式,进入lib文件夹 5.输入:java -jar mybat

Mybatis自动生成实体类和实体映射工具

Mybatis Mysql生成实体类 用到的Lib包: mybatis-generator-core-1.3.2.jarmysql-connector-java-5.1.30.jar 1. 创建一个文件generator.properties, 主要用于配置相关路径和数据库信息. #工程src路径 project = D:/project/ #工程存放mapper.xml路径 resource = D:/project/ #指定数据连接驱动jar地址 classPath=D:/project/m

利用mybatis-generator自动生成表实例类和映射文件

我们经常用到mybatis来进行程序代码级别对数据库的操作,然而需要编写大量的表实例类与映射文件,现在使用工具mybatis-generator就可实现上述文件的自动生成,下面简要介绍一下其使用方法. 1.创建工程 为了下载jar包比较方便,本人创建一个名为mybatis的maven工程来应用mybatis-generator. 2.修改pom.xml文件,下载依赖的jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" x