SpringWeb增删改查
模型类:
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();
}
}
SpringWeb增删改查的更多相关文章
- SpringMVC4+MyBatis3+SQLServer 2014 整合(包括增删改查分页)
前言 说起整合自然离开ssm,我本身并不太喜欢ORM,尤其是MyBatis,把SQL语句写在xml里,尤其是大SQL,可读性不高,出错也不容易排查. 开发环境 idea2016.SpringMVC4. ...
- 搭建ssm框架,可实现登录和数据展示以及增删改查
需求: 后台使用ssm(spring-springMVC-mybatis)进行整合 前台使用bootstrap框架 前后台交互使用Ajax进行发送 表结构: 登录页面后显示所有用户信息,可对每条进行增 ...
- sssp-springmvc+spring+spring-data-jpa增删改查
环境:IDE:eclipse.jdk1.7.mysql5.7.maven 项目结构图 上面目录结构你可以自己创建 搭建框架 首先加入maven依赖包以及相关插件 <dependencies> ...
- springMVC实现增删改查
首先需要准备好一张数据库表我这里用emp这张表:具体代码: /* SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.1.73-community ************* ...
- 1.SSM整合_单表的增删改查
目标:增删改查 环境:Maven+Eclipse+Tomcat7+JDK7 思维导图: 表结构 目录结构 依赖 <dependencies> <dependency> < ...
- IDEA搭建SSM实现登录、注册,数据增删改查功能
本博文的源代码:百度云盘/java/java实例/SSM实例/SSM实现登录注册,增删改查/IDEA搭建SSM实现登录,注册,增删改查功能.zip 搭建空的Maven项目 使用Intellij id ...
- SpringMVC+SpringJdbc+SQLServer+EasyUI增删改查
前言 前天用SpringJdbc连接了一把SQLServer,早上起来用SpringMVC+SpringJdbc+EasUI写了个增删改查的demo,主要是熟悉下SpringMVC相关知识点,如vie ...
- idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD
在学习spring4+springmvc+mybatis的ssm框架,idea整合简单实现增删改查功能,在这里记录一下. 原文在这里:https://my.oschina.net/finchxu/bl ...
- IDEA+Maven 整合SSM框架实现简单的增删改查(新手入门,傻瓜操作)
原博客地址:https://blog.csdn.net/khxu666/article/details/79851070 选用SSM框架的原因在目前的企业级Java应用中,Spring框架是必须的.S ...
随机推荐
- Javaweb---如何使用eclipse创建Javaweb项目
在配置好--服务器Tomcat与Eclipse后,进行项目创建 配置地址:http://blog.csdn.net/baidu_37107022/article/details/71405194 流程 ...
- CEF3 获取Cookie例子 CefCookieManager C++
首先从cef_cookie.h 源码种看到CefCookieManager 这个类: // Visit all cookies on the IO thread. The returned cooki ...
- java调用(axis2)WebService传递对象类型参数(源码)
温馨提示:axis2 jar包哟 public static String pubRemoteFuc() { String endpoint = "http:/ ...
- Analog/digital converter (ADC)
1.ADC1 and ADC2 are 10-bit successive approximation Anolog to Digital Converters. 所谓successive appro ...
- css清除浮动的集中方法
一:浮动产生的副作用 1.父元素的背景不能显示 2.父元素的边框不能撑开 3.padding和margin失效 二:清除浮动的方法 1.给父元素设置高度:这样可以清除浮动,但是子元素内容高度不固定,这 ...
- Volley源码分析一
Volley源码分析 虽然在2017年,volley已经是一个逐渐被淘汰的框架,但其代码短小精悍,网络架构设计巧妙,还是有很多值得学习的地方. 第一篇文章,分析了请求队列的代码,请求队列也是我们使用V ...
- 网页中区分IE各版本
CSS Hack 直接在CSS文件中写CSS Hack是非常直观的区分方法.区分不同IE版本的hack代码为 #content{ background:red; /* 所有浏览器 */ backgro ...
- 关于MATLAB收集人工鼠标移动轨迹的坐标
首先需要设计一个用户图形界面的函数,这个图形界面被用于在其上面绘制轨迹并记录当时的坐标. 该回响函数应包含:鼠标按下时,鼠标移动时,和鼠标释放时的反应命令.当然网上有有相关的开源 程序,但是有缺陷(该 ...
- RecycleView和CardView
一.RecycleView <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" ...
- C#中的Dictionary的使用
在工作中有时候会用到Dictionary,由于自己之前没用过,参考了一下前人和先辈的实践,仿照着写了一个Test,第一次用还不是很熟练,要多实践练习才能用的得心应手,写代码重在敲键盘,以此为诫.(主要 ...