地方门户网站开发方案网站建设学费要多少

张小明 2026/1/5 19:11:38
地方门户网站开发方案,网站建设学费要多少,室内设计公司经营范围,如何查询店名是否被注册10 MyBatis参数10.1 parameterType简单数据类型int double类型 String类型 long简单的写法#xff1a;java.lang.Integer -- int integer Int Integer 都可以#xff0c;框架提供简写的方式。POJO对象类型(JavaBean实体类)默认是不能简写#xff0c;即#xff0c;默认情…10 MyBatis参数10.1 parameterType简单数据类型int double类型 String类型 long简单的写法java.lang.Integer -- int integer Int Integer 都可以框架提供简写的方式。POJO对象类型(JavaBean实体类)默认是不能简写即默认情况下必须使用全限定类名如com.example.User不能直接写User这种简写形式。如果想简写就要自己手动配置别名。就是普通的 Java 实体类通常与数据库表结构一一对应包含属性、getter/setter 方法是数据的载体例如 User 类对应 users 表包含 id、name、age 等字段package com.qcby.domain; import java.io.Serializable; import java.util.Date; import java.util.List; public class User implements Serializable { //可以不写默认就是这个 private static final long serialVersionUID 525400707336671154L; private Integer id; private String username; private Date birthday; private String sex; private String address; // 定义ids属性用来存储所有的id private ListInteger ids; public ListInteger getIds() { return ids; } public void setIds(ListInteger ids) { this.ids ids; } public Integer getId() { return id; } public void setId(Integer 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; } Override public String toString() { return User{ id id , username username \ , birthday birthday , sex sex \ , address address \ , ids ids }; } }POJO包装对象类型默认是不能简写的必须使用全限定类名。如果要简写需要自己手动配置。是一个 容器 对象里面可以包含多个 POJO 对象或其他数据类型主要用于复杂查询场景当需要传递多个不同类型的参数时使用它本身不是直接对应数据库表的实体类而是为了满足业务需求而创建的组合对象package com.qcby.domain; import java.io.Serializable; public class QueryVo implements Serializable { // 自己属性 private String name; // user属性 private User user; // role属性 private Role role; public String getName() { return name; } public void setName(String name) { this.name name; } public User getUser() { return user; } public void setUser(User user) { this.user user; } public Role getRole() { return role; } public void setRole(Role role) { this.role role; } }// 测试包装类查询 public ListUser findByVo(QueryVo vo);!--包装类测试查询-- select idfindByVo parameterTypecom.qcby.domain.QueryVo resultTypecom.qcby.domain.User select * from user where username #{user.username} /selectTest public void testFindByVo(){ QueryVo vo new QueryVo(); User user0 new User(); user0.setUsername(熊大); vo.setUser(user0); ListUser users mapper.findByVo(vo); System.out.println(users); }10.2 resultType返回简单数据类型int double long String返回POJO数据类型单独说 “POJO 类型” 时泛指所有普通 Java 对象既包括普通 POJO 实体类与数据库表一一对应也包括POJO 包装对象组合多个对象或属性的业务类。只要是 “普通 Java 对象”有属性、getter/setter无特殊继承或接口限制都可以称为 POJO 类型。例如返回User对象类型。resultMap结果类型resultType可以指定pojo将查询结果映射为pojo但需要pojo的属性名和sql查询的列名一致方可映射成功。具体规则见6.2如果sql查询字段名和pojo的属性名不一致可以通过resultMap将字段名和属性名作一个对应关系 resultMap实质上还需要将查询结果映射到pojo对象中。具体规则见6.2resultMap可以实现将查询结果映射为复杂类型的pojo比如在查询结果映射对象中包括pojo和list的多对一查询和一对多查询。具体见6!--演示resultMap配置-- select idfindUsers resultMapuserMap select id _id,username _username,birthday _birthday,sex _sex,address _address from user /select !-- 配置resultMap用来进行数据封装 id唯一的名称用来被引用的 type进行封装数据的类型 -- resultMap iduserMap typecom.qcby.domain.User !-- propertyJavaBean中的属性 column表中的字段 -- result propertyid column_id/ result propertyusername column_username / result propertybirthday column_birthday / result propertysex column_sex / result propertyaddress column_address / /resultMappublic ListUser findUsers();Test public void testFindUsers(){ ListUser users mapper.findUsers(); System.out.println(users); }10.3 MyBatis 参数传递MyBatis 对不同类型参数的处理机制不同。写sql语句是有时候可以直接用参数名有时候又必须用 Param。入参情况描述SQL 占位符写法示例单个普通参数方法只有一个参数且为基本类型或String。#{任意名称}或#{param1}findById(int id)→where id #{id}多个普通参数方法有多个参数且为基本类型或String。必须使用 Param(别名)然后用#{别名}findByNameAndAge(Param(name) String name, Param(age) int age)→where username#{name} and age#{age}一个对象参数方法只有一个参数且为自定义实体类或 Map。#{对象的属性名}findByUser(User user)→where username#{username} and password#{password}混合参数方法参数包含对象和普通类型。对象属性用#{属性名}普通参数必须用Paramfind(User u, Param(roleId) int roleId)→where username#{username} and role_id#{roleId}集合 / 数组参数参数是List、Set或数组用于IN查询。使用#{list[0]}或在标签中用#{item}findByIds(List ids)→#{id}10.3.1 单个普通参数 (基本类型或 String)当你的方法只有一个参数时MyBatis 不会去关心这个参数的名字。你在 XML 或注解中可以用任何名字来接收它。XML 示例select idfindById resultTypeUser parameterTypeint select * from user where id #{id} -- 这里用 #{abc} 也可以 /select10.3.2 多个普通参数当方法有多个参数时MyBatis 无法直接将它们与 SQL 中的占位符对应起来。此时你必须使用 Param 注解为每个参数指定一个别名。XML 示例select idfindByNameAndSex resultTypeUser select * from user where username #{username} and sex #{sex} /select对应的接口方法必须是ListUser findByNameAndSex(Param(username) String username, Param(sex) String sex);注意 如果不使用 ParamMyBatis 会抛出 Parameter ... not found 的错误。你也可以使用默认的 #{param1}, #{param2}... 来访问但这非常不直观不推荐。10.3.3 一个对象参数当你的参数是一个 Java 对象时MyBatis 会自动使用对象的 属性名 来匹配 SQL 中的占位符。XML 示例select idfindByUser1 resultTypecom.lsl.entity.User parameterTypecom.lsl.entity.User select * from user where username #{username} and password #{password} /select对应的接口方法ListUser findByUser1(User user);MyBatis 会调用 user.getUsername() 和 user.getPassword() 来获取值。10.3.4 集合或数组参数当需要进行 IN 查询时通常会传入一个 List 或数组。这时需要使用 标签。XML 示例select idfindByIds resultTypeUser select * from user where id in foreach collectionlist itemid open( separator, close) #{id} /foreach /where /select对应的接口方法ListUser findByIds(ListInteger ids);注意如果参数是 Listcollection 属性默认值是 list。如果参数是 Arraycollection 属性默认值是 array。为了代码清晰强烈建议使用 Param 自定义名称ListUser findByIds(Param(idList) ListInteger ids);然后 XML 中 collectionidList。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站开发商务合同百度网首页

随着电力电子技术的飞速发展,绝缘栅双极晶体管(IGBT)在电机控制、逆变电源等领域得到了广泛应用。为了实现高效、稳定的IGBT驱动,AT314光耦作为一种优秀的隔离器件,在IGBT驱动电路中发挥着重要作用。IGBT驱动光耦原理 …

张小明 2025/12/20 3:41:50 网站建设

宝应吧百度贴吧天津seo培训哪家好

企业微信打卡助手作为一款基于Android平台的扩展模块,通过创新的技术实现了GPS定位的精准调整,为企业用户提供了灵活便捷的打卡解决方案。本指南将全面剖析该项目的核心技术原理、功能特性及实战应用。 【免费下载链接】weworkhook 企业微信打卡助手&…

张小明 2025/12/20 3:39:49 网站建设

做网站开发的流程WordPress评论调用QQ头像

BBDown实战教程:从零开始掌握B站视频下载技巧 【免费下载链接】BBDown Bilibili Downloader. 一款命令行式哔哩哔哩下载器. 项目地址: https://gitcode.com/gh_mirrors/bb/BBDown BBDown作为一款专业的命令行式B站视频下载工具,为技术爱好者提供了…

张小明 2025/12/20 3:37:48 网站建设

韶关建设网站网络游戏制作公司

代码随想录算法训练营第三十二天任务完全背包理论卡码网52. 携带研究材料518.零钱兑换II377. 组合总和 Ⅳ卡码网57. 爬楼梯完全背包理论 有N件物品和⼀个最多能背重量为W的背包。第 i 件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个&#xff…

张小明 2025/12/20 3:35:46 网站建设

常州做网站哪里好企业网上商城

YOLO目标检测实战:GPU算力如何提升推理效率 在一条高速运转的智能制造产线上,每秒都有成百上千个零件经过视觉质检系统。如果检测延迟超过50毫秒,机械臂就无法及时剔除缺陷品——这不仅意味着质量失控,更会造成整条产线停摆。这样…

张小明 2025/12/20 3:31:44 网站建设

手机版网站怎样做推广门户网站建设原则

点击 “AladdinEdu,你的AI学习实践工作坊”,注册即送-H卡级别算力,沉浸式云原生集成开发环境,80G大显存多卡并行,按量弹性计费,教育用户更享超低价。 第一章:引言——不确定世界中的结构化思维 …

张小明 2025/12/20 3:29:42 网站建设