4.使用接口+xml文件方式编写dao层
来源:互联网 发布:淘宝店铺首页装修 编辑:程序博客网 时间:2024/05/22 02:15
创建maven工程
引入maven依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.cjq</groupId> <artifactId>cjq-mybatis1</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>cjq-mybatis1</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!--MyBatis相关--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <!--数据库相关--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.35</version> </dependency> </dependencies></project>
创建主配置文件configuration.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 type="com.cjq.vo.Emp" alias="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/test"/> <property name="username" value="root"/> <property name="password" value="admin"/> </dataSource> </environment> </environments> <mappers> <!--加入映射文件--> <mapper resource="mapper/EmpMapper.xml"/> </mappers></configuration>
emp表
emp类
package com.cjq.vo;/** * Created by cjq on 2017/9/16. */public class Emp { public Emp() { } public Integer getEno() { return eno; } public Emp(Integer eno, String ename, String job, Double sal) { this.eno = eno; this.ename = ename; this.job = job; this.sal = sal; } @Override public String toString() { return "Emp{" + "eno=" + eno + ", ename='" + ename + '\'' + ", job='" + job + '\'' + ", sal=" + sal + '}'; } public void setEno(Integer eno) { this.eno = eno; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public Double getSal() { return sal; } public void setSal(Double sal) { this.sal = sal; } Integer eno; String ename; String job; Double sal;}
创建接口
package com.cjq.dao;import com.cjq.vo.Emp;/** * Created by cjq on 2017/9/16. */public interface EmpDao { public void insert(Emp emp); public void delete(int eno); public Emp getEmpById(int eno);}
<?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="com.cjq.dao.EmpDao"> <!-- namespace的值对应接口--> <!--id对应接口的方法,resultType是返回值类型,parameterType方法传入的参数类型 --> <!--根据id删除--> <delete id="delete" parameterType="int"> delete from emp where eno=#{eno} </delete> <!--新增--> <insert id="insert" parameterType="com.cjq.vo.Emp"> insert into emp(eno,ename,job,sal) values(#{eno},#{ename},#{job},#{sal}) </insert> <!--根据id查询--> <select id="getEmpById" parameterType="int" resultType="com.cjq.vo.Emp"> select * from emp where eno=#{value} </select></mapper>
获取SqlSession的工具类
package com.cjq.dao;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 java.io.IOException;import java.io.InputStream;/** * Created by cjq on 2017/9/16. */public class SessionFactory { static SqlSessionFactory factory=null; static{ //测试查询 String resource="configuration.xml"; //获取资源的流 InputStream r= null; try { r = Resources.getResourceAsStream(resource); } catch (IOException e) { e.printStackTrace(); } //获得session工厂 factory=new SqlSessionFactoryBuilder().build(r); } public static SqlSession getSession(){ //openSession默认事物是手动提交的 return factory.openSession(); }}
测试
package com.cjq.vo;import com.cjq.dao.EmpDao;import com.cjq.dao.SessionFactory;import org.apache.ibatis.session.SqlSession;import java.io.IOException;/** * Created by cjq on 2017/9/16. */public class DeptTest { public static void main(String[] args) throws IOException { //获取session SqlSession session= SessionFactory.getSession(); //获得Dao EmpDao dao=session.getMapper(EmpDao.class); // dao.insert(new Emp(4,"zhangsan","job1",4000.0)); // Emp emp=dao.getEmpById(4); // System.out.println(emp); dao.delete(4); session.commit(); session.close(); }}
阅读全文
0 0
- 4.使用接口+xml文件方式编写dao层
- 使用MyBatis Generator自动创建表对应的dao层接口、模型层对象、sql语句的xml文件
- MyBatis xml和dao层接口组合使用
- mapper.xml是怎样实现Dao层接口
- 使用spring data jpa简化dao层编写
- 分布式中,dao层mapping的xml文件处理
- SSH中公共Dao层、Dao接口
- DAO层使用泛型的两种方式
- DAO层使用泛型的两种方式
- Hibernate-DAO层接口理解
- Mybatis--使用mybatis generator插件映射数据库,自动生成pojo对象,dao接口,mapper.xml文件的方法
- 使用Spring开发中,service接口或者是dao层接口无法注入
- post 方式提交XML文件调用接口
- jsp连接数据库dao层的编写,可以形成直接的工具文件
- mybaits开发之通用 dao层编写
- mybaits开发之通用 dao层编写
- Mybatis自动生成实体类,映射文件,以及dao层接口。
- DAO层接口代码封装模板
- Java之二维码工具包-yellowcong
- hdu 2588 欧拉函数的应用
- eclipse提示js及jquery
- 如何写SysV服务管理脚本
- cmd中netstat 命令详解(三)
- 4.使用接口+xml文件方式编写dao层
- iOS开发---Swift相册框架,实现相片多选、反选等功能
- 1004成绩排名(查找元素)
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin(概率)
- exist的使用分析__mysql学习笔记
- 第三周项目3
- 如何mock系统调用
- d3为饼图增加引导线
- prepareStatemen获取表中记录条数