> 文档中心 > Spring+SpringMVC+Mybatis(开发必备技能)02、完整DML&DQL语句demo示例

Spring+SpringMVC+Mybatis(开发必备技能)02、完整DML&DQL语句demo示例

Spring+SpringMVC+Mybatis(开发必备技能)

02、完整DML&DQL语句demo示例

承接【Spring+SpringMVC+Mybatis(开发必备技能)01、基础idea环境配置】项目

目录

Spring+SpringMVC+Mybatis(开发必备技能)

02、完整DML&DQL语句demo示例

1、修改【resources/mapper/UsersMapper.xml】文件

2、修改【dao层UsersMapper.java】文件

3、修改【service/UsersService.java】文件

4、修改【serviceimpl/UsersServiceImpl.java】

5、修改【controller/UsersController.java】文件

6、修改【/views/GetInfo.jsp】文件

7、添加【/views/UserAddInfo.jsp】文件

8、添加【/views/UserUpdateInfo.jsp】文件

9、MD5加密32位大写方法备注:

10、执行测试

添加数据:

​编辑修改密码:

删除测试:


1、修改【resources/mapper/UsersMapper.xml】文件

         select * from users             select * from users where nickName like "%${nickName}%"             select * from users where id=#{id}             insert into users values(0,"${userName}","${pwd}","${nickName}");             update users set pwd="${pwd}" where id=#{id}             delete from users where id=#{id}    

2、修改【dao层UsersMapper.java】文件

package com.item.dao; import com.item.model.Users;import org.apache.ibatis.annotations.Param; import java.util.List; public interface UsersMapper {    List GetInfo();    List SelectName(@Param("nickName") String nickName);    Users UsersSelectById(@Param("id") int id);    int UsersAddInfo(     @Param("userName") String userName,     @Param("pwd") String pwd,     @Param("nickName") String nickName     );    int UsersUpdateInfo(     @Param("pwd") String pwd,     @Param("id") int id    );    int UsersDeleteById(@Param("id") int id);}

3、修改【service/UsersService.java】文件

package com.item.service; import com.item.model.Users;import org.apache.ibatis.annotations.Param;import java.util.List; public interface UsersService {    /**     * 获取所有     * @return     */    List GetInfo();    /**     * 获取nickName的模糊查询结果集     * @param nickName     * @return     */    List SelectName(String nickName);    /**     * id精准查询     * @param id     * @return     */    Users UsersSelectById(int id);    /**     * 添加信息     * @param userName     * @param pwd     * @param nickName     * @return     */    int UsersAddInfo(     String userName,     String pwd,     String nickName    );    /**     * 修改密码     * @param pwd     * @param id     * @return     */    int UsersUpdateInfo(     String pwd,     int id    );    /**     * 删除信息     * @param id     * @return     */    int UsersDeleteById(int id);}

4、修改【serviceimpl/UsersServiceImpl.java】

package com.item.serviceimpl;import com.item.dao.UsersMapper;import com.item.model.Users;import com.item.service.UsersService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.util.DigestUtils;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.List;@Servicepublic class UsersServiceImpl implements UsersService {    @Autowired    private UsersMapper usersMapper;    @Override    public List GetInfo() { return usersMapper.GetInfo();    }    @Override    public List SelectName(String nickName) { return usersMapper.SelectName(nickName);    }    @Override    public Users UsersSelectById(int id) { return usersMapper.UsersSelectById(id);    }    @Override    public int UsersAddInfo(String userName, String pwd, String nickName) { pwd=encrypt(pwd); return usersMapper.UsersAddInfo(userName, pwd, nickName);    }    @Override    public int UsersUpdateInfo(String pwd, int id) { pwd=encrypt(pwd); return usersMapper.UsersUpdateInfo(pwd, id);    }    /**     * MD5加密     * @param password     * @return     */    private String encrypt(String password) { String passwordMd5 = null; try {     MessageDigest md5 = MessageDigest.getInstance("MD5");     byte[] bytes = md5.digest(password.getBytes("utf-8"));     passwordMd5 = toHex(bytes); } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {     e.printStackTrace(); } return passwordMd5;    }    private static String toHex(byte[] bytes) { final char[] HEX_DIGITS = "0123456789ABCDEF".toCharArray(); StringBuilder ret = new StringBuilder(bytes.length * 2); for (int i = 0; i > 4) & 0x0f]);     ret.append(HEX_DIGITS[bytes[i] & 0x0f]); } return ret.toString();    }    @Override    public int UsersDeleteById(int id) { return usersMapper.UsersDeleteById(id);    }}

5、修改【controller/UsersController.java】文件

package com.item.controller; import com.item.model.Users;import com.item.service.UsersService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest;import java.util.List; @Controller@CrossOriginpublic class UsersController {    @Autowired    private UsersService usersService;     @RequestMapping("/GetInfoApi")    @ResponseBody    public Object GetInfoApi(){ List list=usersService.GetInfo(); System.out.println(list); return list;    }    @RequestMapping("/GetInfo")    public String GetInfo(HttpServletRequest request,Model model){ List list=usersService.GetInfo(); model.addAttribute("lists",list); return "GetInfo";    }     @RequestMapping("/GetName")    public String GetName(HttpServletRequest request,Model model){ String nickName = request.getParameter("nickName"); List list=usersService.SelectName(nickName); model.addAttribute("lists",list); return "GetInfo";    }    /**     * 添加页面     * @param request     * @param model     * @return     */    @GetMapping("/UserAddInfo")    public String UserAddInfo(HttpServletRequest request,Model model){ return "UserAddInfo";    }    /**     * 添加接口,访问方式post     * @param request     * @param model     * @return     */    @PostMapping(value = "/UserAddInfoApi")    public String UserAddInfoApi(HttpServletRequest request,Model model){ String userName = request.getParameter("userName"); String pwd = request.getParameter("pwd"); String nickName = request.getParameter("nickName"); usersService.UsersAddInfo(userName, pwd, nickName); return "redirect:/GetInfo";    }    /**     * 修改页面     * @param request     * @param model     * @return     */    @GetMapping("/UserUpdateInfo")    public String UserUpdateInfo(HttpServletRequest request,Model model){ String id = request.getParameter("id"); Users users = usersService.UsersSelectById(Integer.parseInt(id)); model.addAttribute("users",users); return "UserUpdateInfo";    }    /**     * 修改api     * @param request     * @param model     * @return     */    @PostMapping(value = "/UserUpdateInfoApi")    public String UserUpdateInfoApi(HttpServletRequest request,Model model){ String id = request.getParameter("id"); String pwd = request.getParameter("pwd"); usersService.UsersUpdateInfo(pwd,Integer.parseInt(id)); return "redirect:/GetInfo";    }    /**     * 删除api     * @param request     * @param model     * @return     */    @GetMapping(value = "/UsersDeleteById")    public String UsersDeleteById(HttpServletRequest request,Model model){ String id = request.getParameter("id"); usersService.UsersDeleteById(Integer.parseInt(id)); return "redirect:/GetInfo";    }}

6、修改【/views/GetInfo.jsp】文件

<%--    显示页面·Get请求            <% List lists = (List) request.getAttribute("lists");%>
编号 账号 密码 昵称 操作
<a href="/UserUpdateInfo?id=" class="btn btn-primary">修改 <a href="/UsersDeleteById?id=" onclick="return confirm('是否删除此行?')" class="btn btn-primary">删除
添加

7、添加【/views/UserAddInfo.jsp】文件

    添加信息        

8、添加【/views/UserUpdateInfo.jsp】文件

    修改密码        

编号:<input type="text" name="id" value="" readonly/>

用户名:

<input type="password" name="pwd" value="" placeholder="请输入用户密码" class="form form-control"/>

昵称:

9、MD5加密32位大写方法备注:

package test; import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException; public class common {    public static void main(String[] args) {    //输出结果:96E79218965EB72C92A549DD5A330112 System.out.println(encrypt("111111"));    }    /**     * 32位大写加密     * @param password     * @return     */    private static String encrypt(String password) { String passwordMd5 = null; try {     MessageDigest md5 = MessageDigest.getInstance("MD5");     byte[] bytes = md5.digest(password.getBytes("utf-8"));     passwordMd5 = toHex(bytes); } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {     e.printStackTrace(); } return passwordMd5;    }     private static String toHex(byte[] bytes) { final char[] HEX_DIGITS = "0123456789ABCDEF".toCharArray(); StringBuilder ret = new StringBuilder(bytes.length * 2); for (int i = 0; i > 4) & 0x0f]);     ret.append(HEX_DIGITS[bytes[i] & 0x0f]); } return ret.toString();    }}

10、执行测试

执行效果

添加数据:

修改密码:

(修改账号为韦文静的用户)

修改成功:

删除测试:

删除测试数据

删除成功

DML语句执行测试完毕,认真练习哦。

开发者涨薪指南 Spring+SpringMVC+Mybatis(开发必备技能)02、完整DML&DQL语句demo示例 48位大咖的思考法则、工作方式、逻辑体系