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

网站建设套餐方案本地宁波网站建设

网站建设套餐方案,本地宁波网站建设,怎么用模板建网站,百度百科官网登录文章目录 前言LocalDate数据库代码po 包 ifwhere 标签 查trim 标签 增set 标签 改foreach 标签 删 前言 提示#xff1a;这里可以添加本文要记录的大概内容#xff1a; 查询条件是动态的 MyBatis的动态SQL语句是指在运行时根据不同条件选择不同的SQL语句执行。 这些条件可… 文章目录 前言LocalDate数据库代码po 包 ifwhere 标签 查trim 标签 增set 标签 改foreach 标签 删 前言 提示这里可以添加本文要记录的大概内容 查询条件是动态的 MyBatis的动态SQL语句是指在运行时根据不同条件选择不同的SQL语句执行。 这些条件可以是参数值、条件语句、动态标签等。 动态SQL语句的编写可以有效地减少重复代码 LocalDate 在 Java 8 中LocalDate 是 java.time 包中的一个类表示一个日期年、月、日。为了创建一个 LocalDate 对象需要使用 LocalDate.of() 方法该方法接受三个参数年、月、日。 例如 LocalDate date LocalDate.of(2022, 9, 1);这将创建一个 LocalDate 对象表示 2022 年 9 月 1 日。 在你的代码中为了将生日传递给 Cust 对象你需要使用 LocalDate.of() 方法来创建一个 LocalDate 对象并将其传递给 Cust 构造函数。例如 Cust cust new Cust(null, 吴三, 17446541321, LocalDate.of(2008, 5, 12), 10.0);这将创建一个 Cust 对象并将生日设置为 2008 年 5 月 12 日。 所以你需要注意的是LocalDate 是一个类而 LocalDate.of() 是用于创建 LocalDate 对象的方法。 具体使用 LocalDate 类提供了一个静态方法 of(int year, int month, int dayOfMonth)该方法允许创建一个指定年份、月份和日期的 LocalDate 对象。 以下是使用 LocalDate.of() 方法创建 LocalDate 对象的步骤 导入 java.time.LocalDate 类 import java.time.LocalDate;使用 of() 方法创建 LocalDate 对象 LocalDate date LocalDate.of(year, month, dayOfMonth);其中 year、month 和 dayOfMonth 分别代表年份、月份和日期是整数类型的值 LocalDate date LocalDate.of(2022, 10, 1);创建了一个 LocalDate 对象表示 2022 年 10 月 1 日。 处理 LocalDate 对象 一旦创建了一个 LocalDate 对象可以使用它来执行各种操作例如 获取日期的年份、月份和日期 int year date.getYear();int month date.getMonthValue();int day date.getDayOfMonth();获取星期几 DayOfWeek dayOfWeek date.getDayOfWeek();进行日期计算 LocalDate plusDays date.plusDays(7); // 返回一周后的日期LocalDate minusMonths date.minusMonths(2); // 返回两个月前的日期比较日期 LocalDate otherDate LocalDate.of(2022, 10, 2);boolean isBefore date.isBefore(otherDate); // 返回 trueboolean isAfter date.isAfter(otherDate); // 返回 falseboolean isEqual date.isEqual(otherDate); // 返回 false这些就是使用 LocalDate.of() 方法创建和处理 LocalDate 对象的步骤。 数据库代码 这里以客户表为例 CREATE TABLE cust (id INT PRIMARY KEY auto_increment, # idname VARCHAR(50) NOT NULL, # 姓名phone VARCHAR(20), # 电话birthday DATE, # 出生日期balance DOUBLE # 余额 ); INSERT INTO cust (id, name, phone, birthday, balance) VALUES (1, 张三, 13611111111, 1990-01-01, 1000.00);INSERT INTO cust (id, name, phone, birthday, balance) VALUES (2, 李四, 13722222222, 1995-02-02, 2000.00);INSERT INTO cust (id, name, phone, birthday, balance) VALUES (3, 王五, 13833333333, 1985-03-03, 3000.00);po 包 新建项目后完善 pom.xml 文件、mybatis 的配置文件、log4j 的日志文件 在 main/java 文件中新建包 mapper 和 po po 包代码这里面有个Date类型要注意 public class Cust {private Integer id;private String name;private String phone;private Date birthday;private double balance;// 为了模糊查询某个时间段private Date startTime;private Date endTime;// 自动生成 Getter、Setter、toString()、有参无参方法 }提示以下是本篇文章正文内容下面案例可供参考 ifwhere 标签 查 ifwhere语句可以根据条件动态构建where子句以过滤查询结果。 在 mapper 包内新建接口文件和与之同名的映射文件 映射文件中的namespace必须是接口的限定名 先写接口文件 在模糊查询功能中输入 id 按照 id 查询输入名字按照名字查询输入手机号按照手机号查询所以返回值是多个查询多个用List public interface CustMapper {ListCust queryCusts(Cust cust); }复制方法名回到映射文件粘贴到 id 下面模糊查询某个时间段的映射文件代码 mapper namespacecom.mybatis.mapper.CustMapper!-- 动态的where条件 --select idqueryCusts parameterTypeCust resultTypeCustselect * from custwhereif teststartTime ! nulland birthday gt;#{startTime}/ifif testendTime ! nulland birthday lt;#{endTime}/if/where/select /mapper以上代码中映射文件中的 select 语句使用了动态的 where 条件其中的 if 标签用于判断 startTime 和 endTime 是否为 null若不为 null则生成相应的SQL语句。 若输入了 startTime则添加一个条件为 birthdaystartTime 的 where 子句 若输入了 endTime则添加一个条件为 birthdayendTime 的 where 子句。 测试代码模糊查询某个时间段 Testpublic void where() throws Exception {CustMapper mapper session.getMapper(CustMapper.class);SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);Date startTime sdf.parse(1990-01-01);Date endTime sdf.parse(1999-12-31);Cust cust new Cust();cust.setStartTime(startTime);cust.setEndTime(endTime);mapper.queryCusts(cust);}在测试代码中将 startTime 和 endTime 分别解析成日期格式并通过set方法设置到Cust 对象中作为参数传递给 queryCusts 方法进行查询。 如果是模糊查询 id、姓名、手机号 映射文件代码 mapper namespacecom.mybatis.mapper.CustMapper!-- 动态的where条件 --select idqueryCusts parameterTypeCust resultTypeCustselect * from custwhereif testid ! nulland id #{id}/if!-- 类型是String也不能等于空 --if testname ! null and name ! and name like concat(%,#{name},%)/ifif testphone ! null and phone ! and phone like concat(%,#{phone},%)/if /where/select /mapper测试代码模糊查询 id、姓名、手机号 Test public void where() {CustMapper mapper session.getMapper(CustMapper.class);Cust cust new Cust(null, 三, null,null,1000.0);mapper.queryCusts(cust);}在测试代码中创建了一个Cust 对象只设置了 name 属性值为三然后调用queryCusts 方法进行查询。因为 id 和 phone 属性值为null所以查询条件中只会有name 相关的查询语句。此时查询结果会返回所有名字包含三的记录。 需要注意的是测试代码中设置的name值必须是一个非空字符串才会被加入到查询条件中。如果 name 属性值为 null 或空字符串那么查询条件中不会包含对 name 的筛选。 查询结果 trim 标签 增 Trim语句可以包装一组语句去除多余的空格或逗号 mapper接口的代码 void insertCust(Cust cust);在映射文件增加对应的语句 增加客户信息 insert idinsertCust parameterTypeCust useGeneratedKeystrue keyPropertyidinsert into custtrim prefix( suffix) suffixOverrides,id, name,if testphone ! null and phone ! phone,/ifif testbirthday ! nullbirthday,/ifif testbalance ! nullbalance,/if/trimtrim prefixvalues( suffix) suffixOverrides,#{id}, #{name},if testphone ! null and phone ! #{phone},/ifif testbirthday ! null#{birthday},/ifif testbalance ! null#{balance},/if/trim /insert接下来是测试【注意 LocalDate】当然前面的类型也要改 Testpublic void trim() {CustMapper mapper session.getMapper(CustMapper.class);Cust cust new Cust(null, 吴三, 17446541321, LocalDate.of(1998, 6, 12), 10.0);mapper.insertCust(cust);}set 标签 改 set语句可用于构建UPDATE语句的SET子句 mapper接口的代码 void updateCust(Cust cust);在对应的映射文件中 根据 id 更改名字 和 电话号码 update idupdateCust parameterTypeCustupdate custsetif testname ! null and name ! name #{name},/ifif testphone ! null and phone ! phone #{phone},/if/setwhere id #{id}/update测试类代码 Testpublic void set() {CustMapper mapper session.getMapper(CustMapper.class);Cust cust new Cust(10, 刘兆儿, 1459745610,null,1000.0);mapper.updateCust(cust);}控制台 foreach 标签 删 Foreach语句用于遍历集合或数组可以重复执行SQL语句 可能要删多个数据可以用数组array或 集合list mapper接口的代码 void deleteCusts(int[] ids);在对应的映射文件中 delete iddeleteCusts parameterTypeintdelete from cust where id inforeach collectionarray itemno open( close) separator,#{no}/foreach/delete测试类代码 Testpublic void foreach() {CustMapper mapper session.getMapper(CustMapper.class);// idint [] nos {1,2,3,4,5};mapper.deleteCusts(nos);}
http://www.w-s-a.com/news/317250/

相关文章:

  • 哪些行业做网站的多学企业网站开发
  • 外贸seo网站制作网站备案的流程
  • 网站布局教程wordpress 侧边栏位置
  • 谁有手机网站啊介绍一下dedecms 网站重复文章
  • 博客网站快速排名微信机器人免费版wordpress
  • 孝感网站建设xgshwordpress网站基础知识
  • 百度为什么会k网站长沙做网站找哪家好
  • 揭阳商城网站建设新闻稿发布平台
  • 电商网站建设免费在线优化网站
  • 厦门网站建设咨询挣钱最快的小游戏
  • 郑州网站网络营销莱芜雪野湖别墅
  • 安装iis8 添加网站河南省建设执业资格中心网站
  • 个人网站电商怎么做广州市营销型网站建设
  • 空间站做网站什么版本wordpress 勾子
  • win7网站服务器制作软件网站浏览图片怎么做的
  • 网站制作平台公司嵌入式软件开发环境
  • 网站服务器镜像微商做网站网站
  • 十大旅游电子商务网站网上定做衣服
  • 怎样进行网站备案上海发布公众号app
  • 网站后台模板论坛网站优化招商
  • 个人网站设计作品能用VUE做网站
  • 网站建设预付阿里云域名备案查询
  • 苏州本地网站免费咨询医生的软件
  • 个人网站做废品回收福建网站开发招聘
  • wordpress网站备案学设计常用的网站
  • 网站建设的频道是什么网站用什么开发软件做
  • 电子商务网站建设与规划总结外链查询网站
  • 西安网站品牌建设做网站需要的东西
  • 网站外围网站怎么做移动端网站开发项目
  • 做网站只做前端可以用吗知更鸟免费 wordpress