Mybatis的新增、模糊查询、修改

实体类(get,set,toString方法省略,需要手动添加)

package com.gx.pojo;
	public class User {
    		private Integer id;
    		private String name;
   		private Integer age;
   	}

Dao接口类

public interface Userdao {
    		/*查询*/
    	 	List<User> selcetUser();
    		/*新增*/
    		 int insertUser(User user);
    		/*修改*/
     		int updateUser(User user);
		/*like查询*/
		/*1:在java代码中指定like的内容*/
		List<User> selectLinkone(String name);
		/*2:在mapper文件中拼接like的内容*/
		List<User> selectliketwo(String name);
}

Dao接口实现类

public class Userdaoimpl implements Userdao {
    		@Override
   	 	public List<User> selcetUser() {
        		//获取sqlSession对象
       		 SqlSession sqlSession = MybatisUtils.getSqlSession();
      		 String sql ="com.gx.dao.Userdao.selcetUser";
        		//执行sql
       		 List<User> UserList = sqlSession.selectList(sql);
        		sqlSession.close();
       		return UserList;
   		 }
   		 @Override
   		 public int insertUser(User user) {
       		 SqlSession sqlSession = MybatisUtils.getSqlSession();
       		 String sql ="com.gx.dao.Userdao.insertUser";
        		 int num = sqlSession.insert(sql,user);
        		 sqlSession.commit();
       		 return  num;
   		}
		@Override
		public List<User> selectLinkone(String name) {
    		return null;
		}
		@Override
		public List<User> selectliketwo(String name) {
    		return null;
		}
}

Mapper(sql语句配置文件)

<?xml version="1.0" encoding="UTF-8" ?>
	<!DOCTYPE mapper
      	  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
	<!--namespace:必须有值,自定义的唯一字符串 -->
	<mapper namespace="com.gx.dao.Userdao">
   		 <!--<select>: 查询数据, 标签中必须是 select 语句
    		id: sql 语句的自定义名称,推荐使用 dao 接口中方法名称,
    		resultType: 查询语句的返回结果数据类型,使用全限定类名
   	 	-->
    		<!--查询-->
    		<select id="selcetUser" resultType="com.gx.pojo.User" >
       		 select id,name,age from user order by id
   		 </select>
    		<!--新增-->
    		<insert id="insertUser" >
      		  insert into user value(#{id},#{name},#{age})
    		</insert>
    		<update id="updateUser">
       		 UPDATE `student`.`user` SET `name` = #{name}, `age` = #{age} WHERE `id` = #{id};
    		</update>
		<!--在java代码中指定like值-->
   		 <select id="selectLinkone" resultType="com.gx.pojo.User">
        			select * from user where name like #{name}
    		</select>
   		<!-- /*2:在mapper文件中拼接like的内容*/-->
    		<select id="selectliketwo" resultType="com.gx.pojo.User">
       		 select * from user where name like "%"#{name}"%"
   		 </select>
	</mapper>

工具类

public class MybatisUtilone {
    private  static  SqlSessionFactory factory = null;
    static {
        String config="mybatis-sql.xml"; // 需要和你的项目中的文件名一样
        try {
            InputStream in = Resources.getResourceAsStream(config);
            //创建SqlSessionFactory对象,使用SqlSessionFactoryBuild
            factory = new SqlSessionFactoryBuilder().build(in);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //获取SqlSession的方法
    public static SqlSession getSqlSession() {
        SqlSession sqlSession  = null;
        if( factory != null){
            sqlSession = factory.openSession();// 非自动提交事务
        }
        return sqlSession;
    }
}

测试类

public class TestMybatis {
@Test	
public void sqlSelect() {
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    String sqlId = "com.gx.dao.Userdao.selcetUser";
    List<User> UserList = sqlSession.selectList(sqlId);
    for (User user : UserList) {
        System.out.println("查询的用户=" + user);
    }
    sqlSession.close();
}
@Test
public void sqlinsert() {
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    String sqlId = "com.gx.dao.Userdao.insertUser";
    User user = new User();
    user.setName("oni");
    user.setAge(21);
    int nums = sqlSession.insert(sqlId, user);
    sqlSession.commit();//提交事务
    System.out.println("执行新增insert的结果=" + nums);
    sqlSession.close();
}
@Test
public  void  RunselectLinkone(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    Userdao dao = sqlSession.getMapper(Userdao.class);
    String name = "%李%";
    List<User> userList = dao.selectLinkone(name);
    for (User user : userList) {
        System.out.println("查询的用户=" + user);
    }
    sqlSession.close();
}
@Test
public void Runselectliketwo(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    Userdao dao = sqlSession.getMapper(Userdao.class);
    String name = "李";
    List<User> userList = dao.selectliketwo(name);
    for (User user : userList) {
        System.out.println("查询的用户=" + user);
    }
    sqlSession.close();
}
}

新增控制台输出
在这里插入图片描述
模糊查询(total:0表示数据库没有匹配的信息)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值