mybatis入门dao方式写URUD(二)
来源:互联网 发布:安卓模拟器知乎 编辑:程序博客网 时间:2024/06/16 01:04
在上一篇博客中已经搭建好环境了,就不再说了,这次主要使用dao的方式写mybatis的CRUD,提高代码的可重用性。
目录结构:
创建entity:
package pojo;public class Stu {private long id;private String name;public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "Stu [id=" + id + ", name=" + name + "]";}}
创建dao:
package Dao;import pojo.Stu;/** * 相当于接口 * @author lenovo * */public interface stuDao {//查询Stu findStuById(int id);//添加void insertStu(Stu stu);//删除void deletestu(int id);}
创建实现层:
package Dao.impl;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import Dao.stuDao;import pojo.Stu;public class stuDaoImpl implements stuDao {//通过构造方法注入sqlsessionfactoryprivate SqlSessionFactory sqlSessionFactory;//sqlsession是线程不安全的public stuDaoImpl(SqlSessionFactory sqlSessionFactory2) {this.sqlSessionFactory= sqlSessionFactory2;}@Overridepublic Stu findStuById(int id) {SqlSession sqlSession = sqlSessionFactory.openSession();Stu stu = sqlSession.selectOne("test.findStuById", id);//释放资源sqlSession.close();return stu;}@Overridepublic void insertStu(Stu stu) {SqlSession sqlSession = sqlSessionFactory.openSession();sqlSession.insert("test.insertStu", stu);//提交事务sqlSession.commit();sqlSession.close();}@Overridepublic void deletestu(int id) {SqlSession sqlSession = sqlSessionFactory.openSession();sqlSession.delete("test.updatestu", id);//提交事务sqlSession.commit();sqlSession.close();}}
创建mapper映射文件:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper SYSTEM "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="test"> <select id="findStuById" parameterType="int" resultType="pojo.Stu"> select * from stu where id=#{id} </select> <!-- 添加用户 --> <insert id="insertStu" parameterType="pojo.Stu"> insert into stu(id,name) VALUES (#{id},#{name}); </insert> <!--删除用户 --> <delete id="deleteStu" parameterType="java.lang.Integer"> delete from stu where id=#{id} </delete></mapper>
创建测试类:
package tests;import static org.junit.Assert.*;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Before;import org.junit.Test;import pojo.Stu;import Dao.stuDao;import Dao.impl.stuDaoImpl;public class stuDaoImplTest {private SqlSessionFactory sqlSessionFactory;/** * 此方法是在testFindStuById()之前执行 * @throws Exception */@Beforepublic void setup() throws Exception{// 创建sqlsessionfactory//1.创建会话工厂String resource= "SqlMapConfig.xml";//得到文件流InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);}@Testpublic void testFindStuById() {//创建dao对象stuDao dao = new stuDaoImpl(sqlSessionFactory);//调用dao方法Stu stu = dao.findStuById(1);System.out.println(stu);}}
<!-- 加载mapper配置文件-->
<mapper resource="sqlmap/stu.xml"/>
</mappers>
阅读全文
0 0
- mybatis入门dao方式写URUD(二)
- Mybatis入门开发之dao方式(三)
- Mybatis学习记录(二)--Mybatis开发DAO方式
- Mybatis学习记录(二)--Mybatis开发DAO方式
- Mybatis学习记录(二)--Mybatis开发DAO方式
- Mybatis框架学习(二)—DAO开发方式和Mapper代理的开发方式
- Mybatis总结(二):开发Dao的方式和Mapper的方式
- Mybatis基于接口代理的方式来开发Dao(二)
- Mybatis入门(二):以接口的方式编程
- MyBatis入门(二)
- mybatis-入门(二)
- MyBatis入门(二)
- 【Mybatis】(二)Mybatis开发Dao对比学习
- MyBatis原始Dao开发方式
- MyBatis (二) Dao层开发
- 【MyBatis-04】mybatis开发dao的方式
- mybatis--开发Dao--原始dao方式和Mapper代理方式
- myBatis入门(二)-mybatis工作流程
- LCS问题不全汇总
- Numpy 使用教程 4
- Nginx作为七层负载均衡调度器
- NKOJ-3775 数列操作
- 【学习笔记八】- JS 冒泡与捕获(事件流+事件处理程序+事件对象)
- mybatis入门dao方式写URUD(二)
- 数据结构:堆(heap)
- iOS UITableView~delegate(代理方法)
- C语言文件读写
- web网站加速之CDN技术原理
- pip安装错误:ImportError: No module named 'pkg_resources'
- Numpy 使用教程 5
- 《C++ Primer》读书笔记第九章-1- 顺序容器概述 And 容器库概览
- Java程序逻辑控制,Java循环