• 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()+
        				"	姓名:	"+model.getName()+
        				"	类型:	"+model.getDtype()+
        				"	医生:	"+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();
        }
    }
  • 相关阅读:
    Asp.net MVC 传递数据 从前台到后台,包括单个对象,多个对象,集合 前端javascript数组,后端接受
    jquery each循环遍历完再执行的方法 因为each是异步的 所以要加计数器.
    分布式中的一些概念,分布式简单理解,分布式架构的常见概念
    href="#"与href="javascript:void(0)"的区别
    Newtonsoft.Json高级用法DataContractJsonSerializer,JavaScriptSerializer 和 Json.NET即Newtonsoft.Json datatable,dataset,modle,序列化
    Newtonsoft.Json高级用法,json序列号,model反序列化,支持序列化和反序列化DataTable,DataSet,Entity Framework和Entity,字符串
    C#利用反射实现两个类的对象之间相同属性的值的复制,一个对象的属性复制给另一个对性的属性
    指定文件兼容性模式 < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />的意义
    使用 IIS 在 Windows 上托管 ASP.NET Core2.0
    jQuery.data() 的实现方式,jQuery16018518865841457738的由来,jQuery后边一串数字的由来
  • 原文地址:https://www.cnblogs.com/kaigexuetang/p/7207526.html
Copyright © 2020-2023  润新知