文档章节

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();
    }
}

© 著作权归作者所有

共有 人打赏支持
下一篇: TCP简单通讯
凯哥学堂
粉丝 17
博文 316
码字总数 284948
作品 0
东城
程序员
私信 提问
.NET.Core.Entity框架

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

xiao-lai
2016/06/12
1K
0
H3C运维审计系统 Web配置指导(笔记)

1、首页显示统计信息 2、首页:一周运维统计 3、有审计功能,最近运维记录 4、具有管理用户的功能(用户的增删改查) 5、有SSH功能 6、具有管理用户组的功能(用户组的增删改查) 7、具有管理...

sktj
01/12
0
0
CI(CodeIgniter )封装自定义Restful控制器

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

满损谦益
2017/12/14
0
0
2017-5-16工作总结

5月16日 1、书写鹰路科技开发要则,并验证jfinal是否存在sql注入风险 2、完成dao的增删改查 3、和繁哥一起搞KPI 5月17日 1、完成dao层文件操作的增删改查 2、开始service层文件操作的增删改查...

vomou
2017/05/16
1
0
请教关于SQL Server触发器和日志 、java程序

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

早起的虫儿被鸟吃
2017/04/19
267
2

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
5
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部