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

优化自己的网站品牌广告策划方案

优化自己的网站,品牌广告策划方案,海搜网做的网站怎么办,站长之家端口扫描目录 基础操作 准备#xff1a; 删除#xff1a; 新增#xff1a; 更新#xff1a; 查询#xff1a; 条件查询#xff1a; XML映射文件 动态SQL if foreach sqlinclude 基础操作 准备#xff1a; 准备数据库表 创建一个新的springboot工程#xff0…目录 基础操作 准备 删除 新增 更新 查询 条件查询 XML映射文件 动态SQL if foreach sqlinclude 基础操作 准备 准备数据库表 创建一个新的springboot工程选择引入对应的起步依赖mybatis、mysql驱动、lombok application.properties中引入数据库连接信息 创建对应的实体类实体类属性采用驼峰命名 准备Mapper接口 删除 Delete(delete from teachnewstudent where id#{id})public void delete(Long id); 特别指出占位符 #{id} 删除是由返回值的数据的返回值改为int即可删除数据 注意事项如果mapper接口方法形参只有一个普通类型的参数#{...}里面的属性名可以随便写如#{id}、#{value}。 日志输出 可以在application.properties中打开mybatis的日志并指定输出到控制台。 #指定mybatis输出日志的位置输出控制台mybatis.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl 预编译SQL 优势性能更高 更安全防止SQL注入 SQL注入 SQL注入是通过操作输入的数据来修改事先定义好的SQL语句以达到执行代码对服务器进行攻击的方法。 使用#{}即为预编译 新增 Insert(insert into user(name,intro,state) values(#{name},#{intro},#{state})public void insert(User user); 如果有多个参数可使用实体类来封装多个参数 主键返回 描述在数据添加成功后需要获取插入数据库的主键。如添加套餐数据时还需要维护套餐菜品关系表数据。 实现加上注解Options框架会自动将生成的主键值赋值给user对象的id属性 Options(keyPropertyid, useGeneratedKeys true)Insert(insert into user(name,intro,state)values(#{name},#{intro},#{state})public void insert(User user); 更新 一般是根据主键来修改因为主键是不改变的 Update(update user set name#{name},intro#{intro},state#{state} where id#{id})public void update(User user);查询 根据id查询 Select(select * from user where id#{id})public User getById(Long id); 数据封装 实体类属性名 和 数据库表查询返回的字段名一致mybatis会自动封装。 如果实体类属性名 和 数据库表查询返回的字段名不一致不能自动封装。 解决方案 方案一给字段起别名让别名与实体类属性一致 Select(select id,name,create_time createTime,update_time updateTime from user where id#{id})public User getById(Long id); 方案二通过ResultsResult 注解手动映射封装 Results({Result(column,property)})Select(select * from user where id#{id})public User getById(Long id); column为需要封装的字段property为封装到的属性 方案三开启mybatis的驼峰命名自动映射开关 即a_ column------aColumn 在application.properties配置mybatis.configuration.map-underscore-to-camel-casetrue 需要严格遵守数据库名为下划线类型名为驼峰命名 条件查询 Select(select * from user where name like %${name}% and state#{state})public ListUser list1(String name,Short state);因为#{}是预编译符不能出现在之内所以需要用$符号来代替所以存在问题性能低、不安全、存在SQL注入问题 解决方法concat  字符串拼接函数 Select(select * from user where name like concat(%,#{name},%) and state#{state})public ListUser list1(String name,Short state);在springboot的2.x版本参数名与注解中引用部分相同否则需要单独加入注解 XML映射文件 规范 XML映射文件的名称与Mapper接口名称一致并且将XML映射文件和Mapper接口放置在相同包下同包同名。 XML映射文件的namespace属性为Mapper接口全限定名一致。 XML映射文件中sql语句的id与Mapper接口中的方法名一致并保持返回类型一致。 目录使用/来分隔 约束 官方文档入门_MyBatis中文网 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.example.demo.mapper.UserMapper/mapper namespace的属性值和接口全类名保持一致 mapper namespacecom.example.demo.mapper.UserMapperselect idlist resultTypecom.example.pojo.Userselect * from user where name like%${name}% and state#{state}/select /mapper 插件MyBatisX提高MyBatis效率能够快速定位 动态SQL 动态SQL 随着用户的输入或外部条件的变化而变化的SQL语句我们称之为 动态SQL if if用于判断条件是否成立。使用test属性进行条件判断如果条件为true则拼接SQL。 mapper namespacecom.example.mapper.Usermapperselect idlist resultTypecom.example.pojo.Userselect * from userwhereif testname ! nullname like%${name}%/ifif teststate! nulland state#{state}/if/where/select /mapper where标签会自动去除多余的and关键字而且会判断条件成不成立当条件不成立时不会生成where关键字 而且会自动去除子句开头的AND或者OR 需求动态更新员工信息如果更新时传递有值则更新如果更新时没有传递值则不更新。 在 if 中添加 test属性即可 set标签替换set关键字能够去除掉多余的逗号 foreach 进行循环遍历的标签通常用在批量删除中 属性 collection遍历的集合与参数名保持一致 item遍历出来的元素 separator分隔符 open遍历开始前拼接的SQL片段 close遍历结束后拼接的SQL片段 delete iddeleteByIdsdelete from user where id inforeach collectionids itemid separetor, open( close)#{id}/foreach /delete sqlinclude sql负责抽取一个片段而include引用一个片段进行复用 sql idcommonSelectselect id,name /sqlinclude 的 refid属性负责指定你要引用哪个片段值该值为select的id值 查询一个表的全部字段时不建议使用select*而是要罗列所有字段select*性能较低 include refidcommonSelect/
http://www.hkea.cn/news/14307241/

相关文章:

  • 冶金建设网站公众号开发商咨询电话
  • 番禺网站建设优化网站建设推广小王熊掌号
  • 怎样用自己的服务器建设网站怎样做网站
  • 民治做网站公司网站开发都用什么
  • 用服务器建立网站教程建设银行益阳市分行桃江支行网站
  • 餐饮门户网站源码个人网页设计师
  • 成都品牌设计网站天津营销网站建设公司
  • 怎样做国外能看到的网站设计师服务平台可以下载
  • 本地推广找哪些网站网站制作软件dw
  • 东阳网站建设网站全是乱码
  • 站酷官网首页wordpress阅读类主题
  • asp做网站搜索上海频道做网站怎么样
  • 网站建设中备案有域名没有服务器怎么做网站
  • 路由器 东莞网站建设网站qq访客 原理
  • 蓝色企业网站wordpress能做什么
  • 湖南网站建设工作室网站建设信息发布
  • 哈尔滨免费网站制作国家住房和城乡建设网站
  • 网站 产品图片 尺寸长沙中小企业网站建设
  • 东莞网站制作公司是什么网站建设公司效益怎么样
  • 厦门手机网站wordpress早期版本
  • 企业高端网站建设需要注意哪些事项临淄房产信息网123
  • wordpress管理员密码忘记重庆网站关键词优化推广
  • 怎么增加网站的权重报表网站建设
  • 网站会员体系方案删除wordpress所以评论
  • 网站开发 chrome浏览器崩溃物联网平台层
  • 大连金普新区规划建设局网站6万左右装修三室两厅
  • 校园内部网站建设方案创业做软件还是做网站
  • 网站建设的详细步骤大学生html5网页大作业
  • 做网站的入什么科目会议平台网站建设
  • 关于网站运营浙江省建设工程协会网站