当前位置: 首页 > news >正文

企业网站策划建设方案logo一键生成器免费版下载

企业网站策划建设方案,logo一键生成器免费版下载,搜索引擎优化要考虑哪些方面?,广州近期流行的传染病目录#xff1a; 一 、实验目的#xff1a; 通过 mybatis 提供的各种标签方法实现动态拼接 sql 二 、预习要求#xff1a; 预习 if、choose、 when、where 等标签的用法 三、实验内容#xff1a; 根据性别和名字查询用户使用 if 标签改造 UserMapper.xml使用 where 标签进行…目录 一 、实验目的 通过 mybatis 提供的各种标签方法实现动态拼接 sql 二 、预习要求 预习 if、choose、 when、where 等标签的用法 三、实验内容 根据性别和名字查询用户使用 if 标签改造 UserMapper.xml使用 where 标签进行改造 UserMapper.xml使用 Sql 片段改造 UserMapper.xml利用 foreach 标签实现根据多个 id 查询用户信息 四、实验方法和步骤 实验前准备 ①创建数据库experience03创建表user并插入以下数据 CREATE DATABASE experience03; USE experience03;DROP TABLE IF EXISTS user; CREATE TABLE user (id int(0) NOT NULL AUTO_INCREMENT,username varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,birthday date NULL DEFAULT NULL,sex char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,address varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (id) USING BTREE ) ;INSERT INTO user VALUES (1, 关羽, 2024-09-29, 男, 蜀国); INSERT INTO user VALUES (2, 梁王孙, 2024-09-11, 男, 北京市); INSERT INTO user VALUES (3, 陈长生, 2024-05-14, 女, 京都西庙); INSERT INTO user VALUES (4, 王婆, 2024-09-05, 女, 快远); INSERT INTO user VALUES (5, 黄忠, 2016-07-24, 1, 三国); INSERT INTO user VALUES (6, 张飞, 2024-10-16, 女, 三国); INSERT INTO user VALUES (7, lucky, 2021-10-08, 男, 三国); INSERT INTO user VALUES (14, 关羽, 2024-12-02, 男, 蜀国); ②配置pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.haust/groupIdartifactIdexperience03/artifactIdversion1.0-SNAPSHOT/versiondependenciesdependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.14/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.28/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependencydependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.16/version/dependency/dependencies/project ③编写User.java在com.haust.pojo中 package com.haust.pojo;import java.util.Date;public class User {private int id;private String username;private Date birthday;private String sex;private String address;public int getId() {return id;}public void setId(int id) {this.id id;}public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday birthday;}public String getSex() {return sex;}public void setSex(String sex) {this.sex sex;}public String getAddress() {return address;}public void setAddress(String address) {this.address address;}Overridepublic String toString() {return User{ id id , username username \ , birthday birthday , sex sex \ , address address \ };} }在java/com/haust/mapper中创建UserMapper接口 package com.mapper;public interface UserMapper { } 在resources/com/haust/mapper简历UserMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespace/mapper 在resources下创建db.properties jdbc.drivercom.mysql.cj.jdbc.Driverjdbc.urljdbc:mysql://localhost:3306/experience03jdbc.usernamerootjdbc.passwordroot 在resources根目录下配置mybatis-config.cml ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configurationproperties resourcedb.properties/ !-- settings-- !-- setting namelogImpl valueLOG4J/-- !-- /settings--typeAliasestypeAlias typecom.haust.pojo.User aliasUser//typeAliasesenvironments defaultenvironmentenvironment idenvironmenttransactionManager typeJDBC/transactionManagerdataSource typePOOLEDproperty namedriver value${jdbc.driver}/property nameurl value${jdbc.url}/property nameusername value${jdbc.username}/property namepassword value${jdbc.password}//dataSource/environment/environmentsmappersmapper resourcecom/haust/mapper/UserMapper.xml//mappers /configuration 1根据性别和名字查询用户 查询 sql SELECT id, username, birthday, sex, address FROM user where sex 1 AND username LIKE %张% ①Mapper.xml 文件 UserMapper.xml 配置 sql如下 select idfindUserUsernameAndSex parameterTypecom.haust.pojo.User resultTypecom.haust.pojo.Userselect * from userwhere username like %${username}% and sex #{sex}/select ②Mapper 接口 编写 Mapper 接口如下 ListUser findUserUsernameAndSex(User user); ③测试方法 在 UserMapperTest 添加测试方法如下 Test public void test09() throws IOException {String resources mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resources);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession sqlSessionFactory.openSession();UserMapper userMapper sqlSession.getMapper(UserMapper.class);User user new User();user.setSex(女);user.setUsername(王);ListUser list userMapper.findUserUsernameAndSex(user);System.out.println(list);sqlSession.commit();sqlSession.close(); } ④实验效果 测试效果如下图 如果注释掉 user.setSex(1)测试结果如下图 测试结果二很显然不合理。 按照之前所学的要解决这个问题需要编写多个 sql查询条件越多需要编写的 sql 就 更多了显然这样是不靠谱的。 解决方案使用动态 sql 的 if 标签 2使用 if 标签改造 UserMapper.xml (二)使用 if 标签改造 UserMapper.xml ①改造 UserMapper.xml如下 select idfindUserUsernameAndSex parameterTypecom.haust.pojo.User resultTypecom.haust.pojo.Userselect * from userwhere 11if testusername ! null and username ! and username like %${username}%/ifif testsex ! null and sex ! and sex #{sex}/if/select 注意字符串类型的数据需要要做不等于空字符串校验。 ②实验效果 测试类 Testpublic void test09() throws IOException {String resources mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resources);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession sqlSessionFactory.openSession();UserMapper userMapper sqlSession.getMapper(UserMapper.class);User user new User();// user.setSex(男);user.setUsername(王);ListUser list userMapper.findUserUsernameAndSex(user);System.out.println(list);sqlSession.commit();sqlSession.close();} 如上图所示测试 OK 注意使用if test后sex注释掉会选择username作为唯一条件 3使用 where 标签进行改造 UserMapper.xml 三使用 where 标签进行改造 UserMapper.xml 上面的 sql 还有 where 11 这样的语句很麻烦 可以使用 where 标签进行改造where 标签可以自动添加 where同时处理 sql 语句中第一个 and 关键字 ①改造 UserMapper.xml如下 select idfindUserUsernameAndSex parameterTypecom.haust.pojo.User resultTypecom.haust.pojo.Userselect * from userwhereif testusername ! null and username ! and username like %${username}%/ifif testsex ! null and sex ! and sex #{sex}/if/where/select 测试类 Testpublic void test09() throws IOException {String resources mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resources);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession sqlSessionFactory.openSession();UserMapper userMapper sqlSession.getMapper(UserMapper.class);User user new User();// user.setSex(男);user.setUsername(王);ListUser list userMapper.findUserUsernameAndSex(user);System.out.println(list);sqlSession.commit();sqlSession.close();} ②实验效果 4使用 Sql 片段改造 UserMapper.xml 使用 Sql 片段改造 UserMapper.xml Sql 中可将重复的 sql 提取出来使用时用 include 引用即可最终达到 sql 重用的目的。 ①把上面例子中的 id, username, birthday, sex, address 提取出来作为 sql 片段如下 select idfindUserUsernameAndSex parameterTypecom.haust.pojo.User resultTypecom.haust.pojo.Userselect include refiduserFields/include from userwhereif testusername ! null and username ! and username like %${username}%/ifif testsex ! null and sex ! and sex #{sex}/if/where/selectsql iduserFieldsid, username, birthday, address, sex/sql 如果要使用别的 Mapper.xml 配置的 sql 片段可以在 refid 前面加上对应的 Mapper.xml 的 namespace。 5利用 foreach 标签实现根据多个 id 查询用户信息 利用 foreach 标签实现根据多个 id 查询用户信息 向 sql 传递数组或 Listmybatis 使用 foreach 解析如下 ①根据多个 id 查询用户信息 查询 sql SELECT * FROM user WHERE id IN (1,3,4) ①在java/com/haust/pojo下创建 QueryVo 如下在 pojo 中定义 list 属性 ids 存储多个用户 id并添加 getter/setter 方法 package com.haust.pojo;import java.util.List;public class QueryVo {private User user;private ListInteger ids;public ListInteger getIds() {return ids;}public void setIds(ListInteger ids) {this.ids ids;}public User getUser() {return user;}public void setUser(User user) {this.user user;}Overridepublic String toString() {return QueryVo{ user user , ids ids };} }②Mapper.xml 文件 UserMapper.xml 添加 sql如下 select idfindUserByList parameterTypecom.haust.pojo.QueryVo resultTypecom.haust.pojo.Userselect * from user where id inforeach collectionlist itemid indexindex separator, open( close)#{id}/foreach/select ③测试方法如下图 Testpublic void test10() throws IOException {String resources mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resources);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession sqlSessionFactory.openSession();UserMapper userMapper sqlSession.getMapper(UserMapper.class);QueryVo queryVo new QueryVo();ListInteger list new ArrayList();list.add(1);list.add(3);list.add(4);ListUser list1 userMapper.findUserByList(list);for (User u:list1){System.out.println(u);}sqlSession.commit();sqlSession.close();} ④实验效果 测试效果如下图
http://www.pierceye.com/news/190469/

相关文章:

  • 全球建站东莞市的网站公司哪家好
  • 地方网站发展怎么做链接推广产品
  • 上海制造网站公司网站优化做网站优化
  • vs2012做网站wordpress 页眉
  • 北网站建设重庆建设工程查询网站
  • 给我做网站的人老是给我留点尾巴太原本地网站搭建公司
  • 静态页面网站站标代码写进到静态页面了 怎么不显示呢?自助建站网
  • 免费在线代理网站微信会员卡管理系统
  • 和动物做的网站吗做网站销售怎么样
  • 宝塔面板做织梦网站深圳龙华大浪做网站公司
  • 阿里云建网站费用上海网站建设觉策动力
  • 电子商务网站的建设与维护方法h5第三方收款平台
  • 网站建设所需人力设计广告网站
  • php网站发送邮件动态倒计时网站模板
  • 温州建设网站制作wordpress调用文章简介
  • 大庆市建设局网站刘东科技公司做网站
  • 山东助企网站建设宁波百度关键词推广
  • 宜昌市夷陵区建设局网站培训推广 seo
  • 怎样做安居客网站用幽默的语言来形容网站开发
  • 宜昌网站建设选择宜昌慧享互动手机怎么防止网站跳转
  • 本地的上海网站建设公司汽车租赁网站设计
  • 在哪下载免费的英文版网站模板建站 网站程序有哪些
  • 网页前端做购物网站的实训报告网络营销推广是做什么的
  • 广东专业网站建设效果wordpress搜索框插件
  • 茂名建站模板搭建岳阳优化营商环境
  • shopify网站建设郑州机械网站制作
  • 郑州正规公司网站建设服务国内专业建站平台
  • 做财经直播网站php网站做安卓客户端
  • 视频直播网站开发运营步骤十大免费erp软件
  • 域名备案和网站备案有什么不同wap 网站