文档章节

SpringWeb增删改查

凯哥学堂
 凯哥学堂
发布于 2017/07/19 19:38
字数 653
阅读 7
收藏 0

模型类:

package com;

public class Model {
    private int id;
    private String name;
    private String dtype;
    private String hospital;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getDtype() {
		return dtype;
	}
	public void setDtype(String dtype) {
		this.dtype = dtype;
	}
	public String getHospital() {
		return hospital;
	}
	public void setHospital(String hospital) {
		this.hospital = hospital;
	}
    
}

连接类:

package util;

import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


public class MyBatisUtil {
private final static SqlSessionFactory sqlSessionFactory; //单例SqlSessionFactory对象
	
	static{
		String resource = "mybatis-config.xml"; //MyBatis配置文件,位于src路径
		Reader reader = null;
		try {
			reader = Resources.getResourceAsReader(resource);
		} catch (IOException e) {
			System.out.println(e.getMessage());
		}
		sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);	
	}
	
	public static SqlSessionFactory getSqlSessionFactory(){ //返回单例SqlSessionFactory对象
		return sqlSessionFactory;
	}

}

接口类:

package mapper;

import java.util.List;

import com.Model;

public interface CrMapper {
	// 获取ID对象
	public Model selectModel(int id);
   //插入一条记录
	public void addModel(Model model);
	//删除一条记录
	public Model deletModel(int id);
	//更新Model对象
	public void updateModel(Model model);
	//获取Model全部对象,并封装成一个集合
	public List<Model> allModel();
}

接口映射xml:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper SYSTEM "http://mybatis.org/dtd/mybatis-3-mapper.dtd" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN">

<!-- 映射器名字空间,即BlogMapper对象的完整路径名 -->

-<mapper namespace="mapper.CrMapper">

<!-- 新增记录,映射SQL插入语句。id为当前命名空间中唯一的标识符,可 以被用于引用该语句。当映射器接口中的某一方法与id值一致时,就会执行 该语句。parameterType属性定义方法参数类型 -->


<insert parameterType="com.Model" id="addModel"> insert into a(id,name,dtype,hospital) values(#{id},#{name},#{dtype},#{hospital}) </insert>

<!-- 修改记录 -->


<update parameterType="com.Model" id="updateModel"> update a set name=#{name},dtype=#{dtype}, hospital=#{hospital} where id=#{id} </update>

<!-- 删除记录 -->


<delete parameterType="int" id="deletModel"> delete from a where id=#{id} </delete>

<!-- 查询单条记录,映射SQL查询语句 -->


<select parameterType="int" id="selectModel" resultType="com.Model"> select * from a where id=#{id} </select>

<!-- 查询所有记录 -->


<select id="allModel" resultType="com.Model"> select * from a </select>

</mapper>

测试类:

package test;

import java.util.List;

import mapper.CrMapper;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import util.MyBatisUtil;

import com.Model;

public class Test {
	public static void main(String[] args) {
		SqlSessionFactory factory=MyBatisUtil.getSqlSessionFactory();
	     SqlSession session=factory.openSession();
	     //实例化对象
		 Model model=new Model();
		 model.setName("cc");
		 model.setDtype("33");
		 model.setHospital("33");
	     CrMapper crMapper = session.getMapper(CrMapper.class);
	     crMapper.addModel(model);
	     //提交
	     session.commit();
	     //关闭
	     session.close();	
   }
	//新增一条记录
	 public void testCr(){
	     SqlSessionFactory factory=MyBatisUtil.getSqlSessionFactory();
	     SqlSession session=factory.openSession();
	     //实例化对象
		 Model model=new Model();
		 model.setName("cc");
		 model.setDtype("33");
		 model.setHospital("33");
	     CrMapper crMapper = session.getMapper(CrMapper.class);
	     crMapper.addModel(model);
	     //提交
	     session.commit();
	     //关闭
	     session.close();	   
}
    public void testAll(){
    	//查询所有
    	SqlSession session =MyBatisUtil.getSqlSessionFactory().openSession();
    	CrMapper crMapper=session.getMapper(CrMapper.class);
    	List<Model> list=crMapper.allModel();
    	for(Model model:list){
    		//显示model对象信息
    		System.out.println("id:"+model.getId()+
    				"\t姓名:\t"+model.getName()+
    				"\t类型:\t"+model.getDtype()+
    				"\t医生:\t"+model.getHospital());
    	}
    	//关闭
    	session.close();
    }
    
    public void testuptate(){
    	//修改
    	SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
    	CrMapper crMapper=session.getMapper(CrMapper.class);
    	//根据id查询后修改字段
    	Model model=new Model();
    	model=crMapper.selectModel(3);
    	model.setName("王菲");
    	model.setDtype("外科");
    	model.setHospital("1");
    	crMapper.updateModel(model);
    	session.commit();
    	session.close();
    }
    public void testdelete(){
    	SqlSession session=MyBatisUtil.getSqlSessionFactory().openSession();
	     CrMapper crMapper=session.getMapper(CrMapper.class);
	     //根据id删除
	     crMapper.deletModel(2);
	     //提交
	     session.commit();
	     //关闭
	     session.close();
    }
}

© 著作权归作者所有

共有 人打赏支持
凯哥学堂
粉丝 17
博文 314
码字总数 280608
作品 0
东城
程序员
.NET.Core.Entity框架

.NET.Core.Entity框架能够方便的对数据进行添加、删除、修改、查询操作(包括简单的增删改查、相同实体间的增删改查、不同实体间的增删改查操作)功能强大,容易使用。 简单的增删改查需要创...

xiao-lai
2016/06/12
1K
0
CI(CodeIgniter )封装自定义Restful控制器

RestfulApi的官方定义这里不再赘述,我个人给他定义就是,把一个表的增删改查接口封装起来,提供统一的接口给调用者。 如果是写API接口,表的增删改查何其之多,基本也都一样,我一开始也是每...

满损谦益
2017/12/14
0
0
请教关于SQL Server触发器和日志 、java程序

需求,在javaweb中对数据库进行增删改查操作,会将日志写入数据库日志表中(用户,时间,方法,SQL,操作几个字段)。 现在要求,如果在数据库中进行了增删改查,也会触发程序,将日志写入数...

早起的虫儿被鸟吃
2017/04/19
157
2
Mybatis_运行原理

1、获取sqlSessionFactory对象: 解析文件的每一个信息保存在Configuration中,返回包含Configuration的DefaultSqlSession; 注意:【MappedStatement】:代表一个增删改查的详细信息 2、获取...

Mr_LiuT
2017/10/29
0
0
用Java web做个《网上订餐系统》

能够连接MySQL数据库实现用户登陆注册、用户添加菜品到购物车,对购物车里的东西可以进行增删改查,并且可以生成订单,后台管理员可以通过管理员账号密码登陆管理界面,对菜品进行增删改查,...

Finally_Air
2014/10/24
4.7K
13

没有更多内容

加载失败,请刷新页面

加载更多

arcgis jsapi接口入门系列:总览

开发环境: arcgis jsapi版本4.9 由于我们这套代码是基于vue,webpack开发的,会有少数vue代码,但总体不影响 里面还有些我们公司的js库和html css,给出的代码不能百分百直接运行,主要还是...

canneljls
18分钟前
1
0
月薪80k阿里架构师漫谈他是如何从一名小码农走到架构师的

01 刚当程序员时,我是属于那种勤勤恳恳类型的员工,工作态度用认真来形容不为过,每天我几乎是团队里最早到公司,又最晚下班的一个。而组员张工一般情况下都是准时上下班的,即使项目进度比...

Java填坑之路
20分钟前
1
0
oracle的resetlogs机制浅析

oracle的resetlogs机制浅析 alter database open resetlogs 这个命令我想大家都很熟悉了,那有没有想过这个resetlogs选项为什么要用?什么时候用? 它的原理机制是什么?他都起哪些作用? 我...

突突突酱
22分钟前
1
0
JAVA 获取两个日期间的所有日期

public static List<String> getDates(String startDate, String endDate){ List<String> dates = new ArrayList<>(); try { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Dat......

尘叙缘
28分钟前
2
0
Innodb中的事务隔离级别和锁的关系

#一次封锁or两段锁? 因为有大量的并发访问,为了预防死锁,一般应用中推荐使用一次封锁法,就是在方法的开始阶段,已经预先知道会用到哪些数据,然后全部锁住,在方法运行之后,再全部解锁。...

Skqing
42分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部