• Mybatis的增删改查


    以Stu为例,Stu.xml配置文件如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
    <mapper namespace="stu">
    	<!-- 查询结果使用sql语句 -->
    	<select id="findAll" resultType="Stu">
    		select * from stu
    	</select>
    	
    	<!-- resultMap -->
    	<resultMap type="Stu" id="stumap">
    		<id property="sid" column="s_id" />
    		<result property="sname" column="s_name" />
    		<result property="ssex" column="s_sex" />
    		<result property="sbirth" column="s_birth" />
    	</resultMap>
    	
    	<!-- resultMap对应resultMap的id值 -->
    	<select id="findAll2" resultMap="stumap">
    		select * from stu
    	</select>
    	
    	<!-- 参数查询1 普通类型(参数任意名) -->
    	<select id="findparams1" resultMap="stumap" parameterType="int">
    		select * from stu s where s.s_id = #{id}
    	</select>
    	
    	<!-- 参数查询2 类类型(参数类属性名) -->
    	<select id="findparams2" resultMap="stumap" parameterType="Stu">
    		select * from stu s where s.s_id = #{sid}
    	</select>
    	
    	<!-- 参数查询3 map类型(参数为key值) -->
    	<!-- 用法最灵活!!! -->
    	<select id="findparams3" resultMap="stumap" parameterType="map">
    		select * from stu s where s.s_id = #{id}
    	</select>
    	
    	<!-- 查询一个 -->
    	<select id="findOne" resultMap="stumap" parameterType="int">
    		select * from stu s where s.s_id = #{id}
    	</select>
    	
    	<!-- 模糊查询1 -->
    	<select id="findLike" resultMap="stumap" parameterType="String">
    		select * from stu s where s.s_name like "%"#{xxx}"%"
    	</select>
    	
    	<!-- 模糊查询2 -->
    	<select id="findLike2" resultMap="stumap" parameterType="String">
    		select * from stu s where s.s_name like #{xxx}
    	</select>
    	
    	<!-- add -->
    	<insert id="add" parameterType="Stu">
    		insert into stu(s_name,s_sex,s_birth) values(#{sname},#{ssex},#{sbirth})
    	</insert>
    	
    	<!-- update -->
    	<update id="update" parameterType="Stu">
    		update stu set s_name=#{sname},s_sex=#{ssex},s_birth=#{sbirth} where s_id=#{sid}
    	</update>
    	
    	<!-- delete -->
    	<delete id="delete" parameterType="int">
    		delete from stu where s_id=#{xx}
    	</delete>
    </mapper>
    
    相应的测试类如下:

    package com.it.test;
    
    import java.io.Reader;
    import java.sql.Date;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import com.it.entity.Stu;
    import com.it.util.MyBatisUtil;
    
    public class Test {
    	// 查询所有
    	public static void findAll() {
    		try {
    			Reader reader = Resources.getResourceAsReader("mybatis.xml");
    			SqlSessionFactory factory = new SqlSessionFactoryBuilder()
    					.build(reader);
    			SqlSession session = factory.openSession();
    			// 实体类映射文件对应的sql语句
    			List<Stu> ls = session.selectList("stu.findAll");
    			for (Stu s : ls) {
    				System.out.println(s.getSid() + "	" + s.getSname() + "	"
    						+ s.getSsex() + "	" + s.getSbirth());
    			}
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 查询所有2
    	public static void findAll2() {
    		try {
    			Reader reader = Resources.getResourceAsReader("mybatis.xml");
    			SqlSessionFactory factory = new SqlSessionFactoryBuilder()
    					.build(reader);
    			SqlSession session = factory.openSession();
    			// 实体类映射文件对应的sql语句
    			List<Stu> ls = session.selectList("stu.findAll2");
    			for (Stu s : ls) {
    				System.out.println(s.getSid() + "	" + s.getSname() + "	"
    						+ s.getSsex() + "	" + s.getSbirth());
    			}
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 查询所有3
    	public static void findAll3() {
    		try {
    
    			SqlSession session = MyBatisUtil.getSession();
    			// 实体类映射文件对应的sql语句
    			List<Stu> ls = session.selectList("stu.findAll2");
    			for (Stu s : ls) {
    				System.out.println(s.getSid() + "	" + s.getSname() + "	"
    						+ s.getSsex() + "	" + s.getSbirth());
    			}
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 根据参数查询1
    	public static void findParams1() {
    		try {
    			Reader reader = Resources.getResourceAsReader("mybatis.xml");
    			SqlSessionFactory factory = new SqlSessionFactoryBuilder()
    					.build(reader);
    			SqlSession session = factory.openSession();
    			// 实体类映射文件对应的sql语句
    			List<Stu> ls = session.selectList("stu.findparams1", 1);
    			for (Stu s : ls) {
    				System.out.println(s.getSid() + "	" + s.getSname() + "	"
    						+ s.getSsex() + "	" + s.getSbirth());
    			}
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 根据参数查询2
    	public static void findParams2() {
    		try {
    			Reader reader = Resources.getResourceAsReader("mybatis.xml");
    			SqlSessionFactory factory = new SqlSessionFactoryBuilder()
    					.build(reader);
    			SqlSession session = factory.openSession();
    			Stu stu = new Stu();
    			stu.setSid(3);
    			// 实体类映射文件对应的sql语句
    			List<Stu> ls = session.selectList("stu.findparams2", stu);
    			for (Stu s : ls) {
    				System.out.println(s.getSid() + "	" + s.getSname() + "	"
    						+ s.getSsex() + "	" + s.getSbirth());
    			}
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 根据参数查询3
    	public static void findParams3() {
    		try {
    			Reader reader = Resources.getResourceAsReader("mybatis.xml");
    			SqlSessionFactory factory = new SqlSessionFactoryBuilder()
    					.build(reader);
    			SqlSession session = factory.openSession();
    			Stu stu = new Stu();
    			stu.setSid(3);
    			Map<String, Object> map = new HashMap<String, Object>();
    			map.put("id", 2);
    			// 实体类映射文件对应的sql语句
    			List<Stu> ls = session.selectList("stu.findparams3", map);
    			for (Stu s : ls) {
    				System.out.println(s.getSid() + "	" + s.getSname() + "	"
    						+ s.getSsex() + "	" + s.getSbirth());
    			}
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 查询一个
    	public static void findOne() {
    		try {
    
    			SqlSession session = MyBatisUtil.getSession();
    			// 实体类映射文件对应的sql语句
    			Stu s = session.selectOne("stu.findOne", 1);
    			System.out.println(s.getSid() + "	" + s.getSname() + "	"
    					+ s.getSsex() + "	" + s.getSbirth());
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 模糊查询1
    	public static void findLike() {
    		try {
    
    			SqlSession session = MyBatisUtil.getSession();
    			// 实体类映射文件对应的sql语句
    			List<Stu> ls = session.selectList("stu.findLike", "o");
    			for (Stu s : ls) {
    				System.out.println(s.getSid() + "	" + s.getSname() + "	"
    						+ s.getSsex() + "	" + s.getSbirth());
    			}
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 模糊查询2
    	public static void findLike2() {
    		try {
    
    			SqlSession session = MyBatisUtil.getSession();
    			// 实体类映射文件对应的sql语句
    			List<Stu> ls = session.selectList("stu.findLike2", "%y%");
    			for (Stu s : ls) {
    				System.out.println(s.getSid() + "	" + s.getSname() + "	"
    						+ s.getSsex() + "	" + s.getSbirth());
    			}
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 增加
    	public static void Add() {
    		try {
    			SqlSession session = MyBatisUtil.getSession();
    			// 实体类映射文件对应的sql语句
    			Stu s = new Stu(0, "zake", "男", Date.valueOf("1990-10-11"));
    			int r = session.insert("stu.add", s);
    			System.out.println(r);
    			// 提交
    			session.commit();
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 修改
    	public static void Update() {
    		try {
    			SqlSession session = MyBatisUtil.getSession();
    			// 实体类映射文件对应的sql语句
    			Stu s = new Stu(4, "zakey", "男", Date.valueOf("1995-10-11"));
    			session.update("stu.update", s);
    			session.commit();
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	// 删除
    	public static void Delete() {
    		try {
    			SqlSession session = MyBatisUtil.getSession();
    			// 实体类映射文件对应的sql语句
    			session.delete("stu.delete", 4);
    			session.commit();
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	public static void main(String[] args) {
    		/*
    		 * findParams1(); findParams2(); findParams3();
    		 */
    		// findAll3();
    		// findOne();
    		// findLike();
    		Add();
    	}
    
    }
    



  • 相关阅读:
    太久了
    idea文件过大解决方法
    ibus词库导入
    Linux认证考试
    Idea Linux 下的配置 max_user_watches
    SpringBoot启动过程之web,servlet/filter等
    SpringBoot启动过程学习
    也谈一下面试
    MVCC
    Python pyside2 qt 画画面
  • 原文地址:https://www.cnblogs.com/archermeng/p/7537411.html
Copyright © 2020-2023  润新知