MyBatis的数据库操作入门(九)

删除

UserMapper.java新增一个方法

package cn.bdqn.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import cn.bdqn.pojo.User;

public interface UserMapper {

	List<User> getUserList();
	List<User> getUserLikeUserName(String userName);     //模糊查询
	List<User> getUserLikeUserNameAndUserRole(User user);
	List<User> getUserByMap(Map<String,Object> map);
	
	int add(User user);
	int update(User user);
	int updatePassword(@Param("id")Long id,@Param("newPassword")String newPassword);
	int delete(Long id);
}

UserMapper.xml新增一个select

<?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">
<mapper namespace="cn.bdqn.dao.UserMapper">

	<select id="getUserList" resultType="cn.bdqn.pojo.User">
		Select * from smbms_user
	</select>
	
	<select id="getUserLikeUserName" parameterType="String" resultType="user">
  		select * from smbms_user where userName like concat('%',#{userName},'%')
  	</select>
  	
  	<select id="getUserLikeUserNameAndUserRole" parameterType="user" resultMap="userList">
  		select u.*,r.roleName from smbms_user u,smbms_role r 
  			where 
  			r.id=u.userRole 
  			and userRole=#{userRole} 
  			and userName like concat('%',#{userName},'%')
  	
  	</select>
  	
  	<resultMap type="user" id="userList">
  		<id column="id" property="id"/>
  		<result column="userName" property="userName" />
  		<result column="userCode" property="userCode" />
  		<result column="roleName" property="userRoleName" />
  	</resultMap>
  	
  	<select id="getUserByMap" parameterType="map" resultType="user">
  		select * from smbms_user where userRole=#{userRole} and userName like concat('%',#{userName},'%')
  	</select>
  	
  	<insert id="add" parameterType="user">
  		INSERT INTO smbms_user (
  		`userCode`,
  		`userName`,
  		`userPassword`,
  		`gender`,
  		`birthday`,
  		`phone`,
  		`address`,
  		`userRole`,
  		`createdBy`,
  		`creationDate`) 
  		VALUES(
  		#{userCode},
  		#{userName},
  		#{userPassword},
  		#{gender},
  		#{birthday},
  		#{phone},
  		#{address},
  		#{userRole},
  		#{createdBy},
  		#{creationDate})
  	</insert>
  	
  	<update id="update" parameterType="user">
  	
  		UPDATE `smbms_user` SET 
  		`userCode`=#{userCode},
  		`userName`=#{userName},
  		`userPassword`=#{userPassword},
  		`gender`=#{gender},
  		`birthday`=#{birthday},
  		`phone`=#{phone},
  		`address`=#{address},
  		`userRole`=#{userRole},
  		`modifyBy`=#{modifyBy},
  		`modifyDate`=#{modifyDate}
  		WHERE id=#{id}
  	</update>
  	
  	<update id="updatePassword">
  		UPDATE `smbms_user` SET 
  		`userPassword`=#{newPassword}
  		WHERE id=#{id}
  	</update>
  	
  	<delete id="delete" parameterType="long">
  		delete from smbms_user where id=#{id}
  	</delete>
</mapper>

实体类代码:

package cn.bdqn.test;


import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;

import cn.bdqn.dao.UserMapper;
import cn.bdqn.pojo.User;
import cn.bdqn.util.MyBatisUtil;

public class Test {

	/*private static Logger logger = Logger.getLogger("Test");*/

	public static void main(String[] args) {

		//getUserCount();
		//getUserList();
		//getUserByName(sqlSession);
		//getUserLikeNameAndRole(sqlSession);
		//getUserByMap(sqlSession);
		SqlSession sqlSession = MyBatisUtil.getSqlSession();
		//增加
		//User user=new User(17L, "andy", "刘德华", "1234567", 1, "13422369777", "HK", new Date(), 2, null, null, 1, new Date());
		//int count = sqlSession.getMapper(UserMapper.class).add(user);
		
		//修改
		//User user=new User(17L, "andy", "陈大锤", "1234567", 1, "13422369777", "HK", new Date(), 2, null, null, 1, new Date());
		//int count = sqlSession.getMapper(UserMapper.class).update(user);
		
		//修改密码
		//int count = sqlSession.getMapper(UserMapper.class).updatePassword(17L, "0000000");
		
		//删除
		int count = sqlSession.getMapper(UserMapper.class).delete(17L);
		sqlSession.commit();
		System.out.println("删除了"+count+"条数据!");
		MyBatisUtil.closeSession(sqlSession);
	}

	
/*	private static void getUserByMap(SqlSession sqlSession) {
		Map<String,Object> map=new HashMap<String,Object>();
		map.put("userRole", 3);
		map.put("userName", "孙");
		List<User> users = sqlSession.getMapper(UserMapper.class).getUserByMap(map);
		for (User user1 : users) {
			System.out.println(user1);
		}
	}*/
	
	
	
/*	private static void getUserLikeNameAndRole(SqlSession sqlSession) {
		User user=new User();
		user.setUserName("孙");
		user.setUserRole(3);
		List<User> users = sqlSession.getMapper(UserMapper.class).getUserLikeUserNameAndUserRole(user);
		
		for (User user1 : users) {
			System.out.println(user1);
		}
		MyBatisUtil.closeSession(sqlSession);
	}*/
	
	
	
/*	private static void getUserByName(SqlSession sqlSession) {
		List<User> users = sqlSession.getMapper(UserMapper.class).getUserLikeUserName("孙");
		for (User user : users) {
			System.out.println(user);
		}
		MyBatisUtil.closeSession(sqlSession);
	}*/
	
	
	
	
/*	public static void getUserList(){
		SqlSession session = MyBatisUtil.getSqlSession();
		//綁定Mapper接口
		List<User> userList = session.getMapper(UserMapper.class).getUserList();
		for (User user : userList) {
			logger.debug("用户:" + user);
		}
		MyBatisUtil.closeSession(session);
	}*/
	

/*	private static void getUserCount() {
		SqlSession session = MyBatisUtil.getSqlSession();
		// 调用mapper文件进行数据操作
		int count = session.selectOne("cn.bdqn.dao.UserMapper.count");

		logger.debug("用户数量是:" + count);
		MyBatisUtil.closeSession(session);
	}*/
}

运行结果如下:

[DEBUG] 2018-09-30 00:16:27,395 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Opening JDBC Connection
[DEBUG] 2018-09-30 00:16:27,658 org.apache.ibatis.datasource.pooled.PooledDataSource - Created connection 2015601401.
[DEBUG] 2018-09-30 00:16:27,658 cn.bdqn.dao.UserMapper.delete - ooo Using Connection [com.mysql.jdbc.JDBC4Connection@7823a2f9]
[DEBUG] 2018-09-30 00:16:27,658 cn.bdqn.dao.UserMapper.delete - ==>  Preparing: delete from smbms_user where id=? 
[DEBUG] 2018-09-30 00:16:27,705 cn.bdqn.dao.UserMapper.delete - ==> Parameters: 17(Long)
[DEBUG] 2018-09-30 00:16:27,784 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Committing JDBC Connection [com.mysql.jdbc.JDBC4Connection@7823a2f9]
删除了1条数据!
[DEBUG] 2018-09-30 00:16:27,863 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@7823a2f9]
[DEBUG] 2018-09-30 00:16:27,863 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@7823a2f9]
[DEBUG] 2018-09-30 00:16:27,863 org.apache.ibatis.datasource.pooled.PooledDataSource - Returned connection 2015601401 to pool.
 

数据库:

猜你喜欢

转载自blog.csdn.net/weixin_42717928/article/details/82904332