<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="UNPOOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/micro_message?serverTimezone=GMT%2B8" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<!-- 这里对应sql的映射 -->
<mappers>
<mapper resource="com/imooc/config/sql/Message.xml" />
</mappers>
</configuration>
<?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="Message">
<!-- 对应javabean类 -->
<resultMap type="com.imooc.bean.Message" id="messageResult">
<id column="ID" jdbcType="INTEGER" property="id" />
<result column="COMMAND" jdbcType="INTEGER" property="command" />
<result column="DESCRIPTION" jdbcType="VARCHAR" property="description" />
<result column="CONTENT" jdbcType="VARCHAR" property="content" />
</resultMap>
<!-- select语句,参数类型就是传进来的参数 -->
<select id="queryMessage" parameterType="com.imooc.bean.Message" resultMap="messageResult">
select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE
<where>
<!-- 这里导入了message对象,直接写出它的属性即可 -->
<if test="command != null and !"".equals(command.trim())">
and command = #{command}
</if>
<if test="description != null && !"".equals(description.trim())">
and description like '%' #{description} '%'
</if>
</where>
</select>
<!-- 删除语句,参数为传进来的id值 -->
<delete id="deleteMessageOne" parameterType="java.lang.Integer">
delete from MESSAGE where ID=#{_parameter}
</delete>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>MicroMessage</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>login.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 列表查询页面 -->
<servlet>
<servlet-name>listServlet</servlet-name>
<servlet-class>com.imooc.servlet.listServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>listServlet</servlet-name>
<url-pattern>/list.action</url-pattern>
</servlet-mapping>
<!-- 单挑数据删除页面 -->
<servlet>
<servlet-name>deleteServlet</servlet-name>
<servlet-class>com.imooc.servlet.deleteServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>deleteServlet</servlet-name>
<url-pattern>/deleteMessageOne.action</url-pattern>
</servlet-mapping>
</web-app>
package com.imooc.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.imooc.service.deleteService;
/**
* 删除单条数据的servlet
*/
@WebServlet("/deleteServlet")
public class deleteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public deleteServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置编码
request.setCharacterEncoding("UTF-8");
//接收页面传值
String messageID = request.getParameter("id");
//调用service删除方法
deleteService delService = new deleteService();
System.out.println("删除方法即将执行==============参数为"+messageID); //这里执行后输出到控制台后
delService.deleteMessageOne(messageID); //这句就走了一下,没有执行service的方法,就执行下句输出。
System.out.println("删除方法执行完==============参数为"+messageID); //
//删除完数据胡,需要重新加载list页面,查看删除后的列表
//request.getRequestDispatcher("/list.action").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package com.imooc.service;
import com.imooc.Dao.messageDao;
/*
* 关于service层,控制dao层,接收servlet的调用
*/
public class deleteService {
public void deleteMessageOne(String messageID) {
if(messageID != null &&"".equals(messageID.trim())){
System.out.println("删除service方法即将执行======");
messageDao mesDao = new messageDao();
mesDao.deleteMessgeOne(Integer.valueOf(messageID));
}
}
}
/*
* 关于MyBatis框架的数据库删除方法
*/
public void deleteMessgeOne(int messageID) {
DBAccess dbAccess = new DBAccess();
SqlSession sqlSession = null;
try {
sqlSession = dbAccess.getSqlsession();
sqlSession.delete("Message.deleteMessageOne",messageID);
System.out.println("删除单条语句的提交");
sqlSession.commit();
System.out.println("没有异常抛出");
} catch (IOException e) {
e.printStackTrace();
}finally{
if(sqlSession != null) {
sqlSession.close();
}
}
}