模型类:

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增删改查的更多相关文章

  1. SpringMVC4+MyBatis3+SQLServer 2014 整合(包括增删改查分页)

    前言 说起整合自然离开ssm,我本身并不太喜欢ORM,尤其是MyBatis,把SQL语句写在xml里,尤其是大SQL,可读性不高,出错也不容易排查. 开发环境 idea2016.SpringMVC4. ...

  2. 搭建ssm框架,可实现登录和数据展示以及增删改查

    需求: 后台使用ssm(spring-springMVC-mybatis)进行整合 前台使用bootstrap框架 前后台交互使用Ajax进行发送 表结构: 登录页面后显示所有用户信息,可对每条进行增 ...

  3. sssp-springmvc+spring+spring-data-jpa增删改查

    环境:IDE:eclipse.jdk1.7.mysql5.7.maven 项目结构图 上面目录结构你可以自己创建 搭建框架 首先加入maven依赖包以及相关插件 <dependencies> ...

  4. springMVC实现增删改查

    首先需要准备好一张数据库表我这里用emp这张表:具体代码: /* SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.1.73-community ************* ...

  5. 1.SSM整合_单表的增删改查

    目标:增删改查 环境:Maven+Eclipse+Tomcat7+JDK7 思维导图: 表结构 目录结构 依赖 <dependencies> <dependency> < ...

  6. IDEA搭建SSM实现登录、注册,数据增删改查功能

     本博文的源代码:百度云盘/java/java实例/SSM实例/SSM实现登录注册,增删改查/IDEA搭建SSM实现登录,注册,增删改查功能.zip 搭建空的Maven项目 使用Intellij id ...

  7. SpringMVC+SpringJdbc+SQLServer+EasyUI增删改查

    前言 前天用SpringJdbc连接了一把SQLServer,早上起来用SpringMVC+SpringJdbc+EasUI写了个增删改查的demo,主要是熟悉下SpringMVC相关知识点,如vie ...

  8. idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD

    在学习spring4+springmvc+mybatis的ssm框架,idea整合简单实现增删改查功能,在这里记录一下. 原文在这里:https://my.oschina.net/finchxu/bl ...

  9. IDEA+Maven 整合SSM框架实现简单的增删改查(新手入门,傻瓜操作)

    原博客地址:https://blog.csdn.net/khxu666/article/details/79851070 选用SSM框架的原因在目前的企业级Java应用中,Spring框架是必须的.S ...

随机推荐

  1. Python教程(2.4)——字符串

    2.2节讲过,Python中有字符串类型.在Python中,字符串用'或"括起,例如'abc'."qwerty"等都是字符串.注意'和"并不是字符串的内容. A ...

  2. javascript常用开发笔记:一个简单强大的js日期格式化方法

    前言:一直没找到好用的javascript日期格式化工具,自己写了一个,方便以后复用 1.主要功能 (1)支持任意顺序的日期格式排列:yyyy=年,MM=月,dd=日,HH=时,mm=分,ss=秒,s ...

  3. javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  4. form表单在前台转json对象

    会发生序列化乱码问题,待解决. //根据表单id将其内空间,名称,值转为json var fireTraceEquipment =queryParamByFormId('form1'); functi ...

  5. 微信小程序开发 -- 01

    微信小程序开发基础 -- 开发前的准备 缘由 1月9日张小龙微信小程序正式上线,因为微信,所以小程序从诞生开始就头戴巨大的光环,很多的团队,公司以及开发的个体都眼巴巴的盯着这个小程序.而那个时候我却在 ...

  6. 最近一个刚刚毕业的朋友说,他面试时候,遇到最频繁的css问题就是垂直居中,这里给出几种垂直居中方式!

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. javascript中的window.open()被浏览器拦截

    最近做项目的时候,点击事件的时候遇到了window .open()被浏览器拦截的情况,虽然在自己的开发环境中都能正常使用,但是放在测试环境中window.open()就是不能使用, 后来经过测试,单纯 ...

  8. 双核 CPU

    双核 CPU 时间限制: 1 Sec  内存限制: 128 MB 题目描述 由于越来越多的计算机配置了双核 CPU,TinySoft 公司的首席技术官员,SetagLilb,决定升级他们的产品-SWO ...

  9. cordova.js的坑

    最近在使用cordova开发app,一开始只引用了cordova.js,cordova通过function exec(){}来链接本地和H5,之前代码被下载到了本地,在苹果和android上都能实现功 ...

  10. angular-ui-alert

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...