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

网页设计网站模板素材设计作品集模板免费下载

网页设计网站模板素材,设计作品集模板免费下载,编程培训学校,html5源码mybatis Mybatis 单表CURD细节 ${} 与#{} 区别(面试题) ${} 拼接sql 造成sql注入 #{} 使用?占位 如果作为值, 推荐使用#{} ${} 实现一些动态排序,使用 #{column} select * from tb_userinfo order by ? desc column: id 赋值 sql: select * from tb_userinfo order by id …mybatis Mybatis 单表CURD细节 ${} 与#{} 区别(面试题) ${} 拼接sql 造成sql注入 #{} 使用?占位 如果作为值, 推荐使用#{} ${} 实现一些动态排序,使用 #{column} select * from tb_userinfo order by ? desc column: id 赋值 sql: select * from tb_userinfo order by id desc 根据 id常数列排序 结果: [User{name张三丰, gender男, age108, address湖北, emailzhangsanfeng163.com, qq123456}, User{name李思琪, gender女, age21, address上海, emaillisiqi163.com, qq12312321}, User{name李思思, gender女, age21, address北京, emaillisisi126.com, qq3323422}, User{name李大海, gender男, age22, address上海, emaillidahaiss.com, qq12212121}, User{name倪大红, gender女, age23, address上海, emailasdsass.com, qq12312321}, User{namefsdsf, gender男, age43, address北京, emailaaddaww.com, qq544554}, User{namewangwu, gender女, age18, address上海, emailwangwu163.com, qq21321321}, User{name李四, gender男, age21, address湖南, emaillisi163.com, qq222222}, User{namezhangsansan, gender男, age21, address湖南, emailzhangsansan163.com, qq12321312}, User{name莫问归期, gender女, age21, address北京, email1234567qq.com, qq1234567}, User{name一个人挺好, gender男, age21, address北京, emailsadsad163.com, qq2313128}, User{name张三, gender男, age21, address长沙, emailzhangsanqq.com, qq1234678}, User{name张三, gender男, age21, address长沙, emailzhangsanqq.com, qq1234678}] ​ resultType: 不是表示方法的返回值类型, 查询到结果集中记录映射到java那个实体类, 写的实体类 too many paramNumber selectone所带所导致的结果 先后顺序(先执行插入操作再执行这个查询生成id的命令) selectOne() 与selectList() 区别 selectOne() 查询结果集最多有一行记录, 超出一行记录, 抛异常 TooManyResultsException selectList(): 查询结果集可以0 ,1 , 多条 返回的ListT, 可以使用selectList() 替换selectOne() 插入操作, mysql提供: select LAST_INSERT_ID(); 查找生成id值 只能获取当前会话执行插入操作的产生的id Mybatis的Dao层开发模式 1. 传统的Dao模式 编写一个Dao接口, 提供Dao实现类 package com.fs.dao; ​ import com.fs.entity.User; ​ import java.util.List; ​ public interface UserDao {/*** 根据主键查询* param id* return*/User selectById(Integer id); ​/*** 查询所有* return*/ListUser selectAll(); ​/*** 添加* param user* return*/int insert(User user); ​/*** 根据主键删除* param id* return*/int deleteById(Integer id); ​/*** 根据主键修改* param user* return*/int updateById(User user); } ​ package com.fs.dao.impl; ​ import com.fs.dao.UserDao; import com.fs.entity.User; import com.fs.util.MybatisUtil; import org.apache.ibatis.session.SqlSession; ​ import java.util.List; ​ public class UserDaoImpl  implements UserDao {private SqlSession sqlSession; ​public UserDaoImpl() {this.sqlSession MybatisUtil.getSqlSession();} ​Overridepublic User selectById(Integer id) {User user sqlSession.selectOne(UserDao.selectById,id);sqlSession.close();return user;} ​Overridepublic ListUser selectAll() {ListUser users sqlSession.selectList(UserDao.selectAll);sqlSession.close();return users;} ​Overridepublic int insert(User user) {int row   sqlSession.insert(UserDao.addUser,user);//提交事务sqlSession.commit();sqlSession.close();return row;} ​Overridepublic int deleteById(Integer id) {int row sqlSession.delete(UserDao.deleteById, id);sqlSession.commit();sqlSession.close();return row;} ​Overridepublic int updateById(User user) {return 0;} } ​ 传统Dao方式问题: 重复代码重复写 StatementId硬编码方式, 产生原因: Dao的实现类 2. Mapper代理模式 重点 Mybatis推荐, 编写Dao接口,不需要编写实现类, 由Mybatis动态代理自动生成的实现类对象 方法调用哪一个是根据你的映射配置文件中的sql所决定如果在进入一点判断是selectOne还是selectList这里是根据返回值类型所决定 如果是一个对象就是selectOne ,如果说是一个集合也就是selectList,当然你可以直接用selectList替代selectOne 方法名selectById 全限定名namespaceUserDao 为了区分传统Dao方式, 把Dao 取名为Mapper 层: Mapper 接口 UserMapper 使用Mapper代理模式前提条件: Sql映射文件的要求: namespace必须写成Mapper接口全限定名 statement的id写成方法名 package com.fs.mapper; ​ import com.fs.entity.User; ​ import java.util.List; ​ public interface UserMapper {/*** 根据主键查询* param id* return*/User selectById(Integer id); ​/*** 查询所有* return*/ListUser selectAll(); ​/*** 添加* param user* return*/int insert(User user); ​/*** 根据主键删除* param id* return*/int deleteById(Integer id); ​/*** 根据主键修改* param user* return*/int updateById(User user); } ​ sql映射文件: ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.fs.mapper.UserMapper ​ ​select idselectById parameterTypeint resultTypecom.fs.entity.Userselect * from tb_userinfo where id #{id}/select ​delete iddeleteById parameterTypeintdelete from tb_userinfo where id #{id}/delete ​select idselectAll resultTypecom.fs.entity.Userselect * from tb_userinfo/select ​insert idinsert parameterTypecom.fs.entity.User ​selectKey resultTypeint orderAFTER  keyPropertyidselect LAST_INSERT_ID()/selectKeyinsert into tb_userinfo(name,gender,age,address,email,qq,photo) values(#{name},#{gender},#{age},#{address},#{email},#{qq},#{photo})/insert /mapper
http://www.lebaoying.cn/news/10024.html

相关文章:

  • 大公司网站开发如何利用wordpress编辑网站
  • 公司网站建设济南兴田德润地址电话做网站的推广
  • 高水平网站运营托管wordpress实现聊天功能
  • 网站建设公司哪家最好网站开发文档上传服务器
  • 网站建设iis配置中国工厂网网址
  • 上海人才网站建设中小企业网站建设策划
  • 做网站是用源码还是模版江山网站设计
  • 江西建设安全网站个人网站建设作用
  • 为中国移动做网站的公司叫什么seo建站营销
  • 免费建网站赚钱网站全局变量
  • 中国职业培训在线官方网站百度商城官网首页
  • 高安网站建设公司wordpress wow.js
  • 旅游网站建设ppt网站素材模板
  • 培训制作网站源码聊城做网站的公司流程
  • 基于php mysql的网站开发苏州网站推广服务
  • 免费申请com网站希爱力双效片用后感受
  • 网站服务器错误怎么办莱芜 做网站 公司
  • 口碑营销的概念专业做汽车网站优化排名
  • 做网站策划容易遇到哪些问题建设银行网站修改手机号
  • 个人网站是商业的吗临沂制作网站软件
  • 小程序开发 网站建设谷歌seo实战教程
  • 网站策划做营销推广好项目网
  • 宁波龙山建设有限公司网站怎么建设一个购买卡密的网站
  • 手机网站开发哪家好网站 后台 数据 下载
  • 浅谈京东企业的电子商务网站建设免费发布广告信息平台
  • 制作一个专门浏览图片的网站做网站合同封面
  • 北京网站建设报价郑州的网络科技有限公司
  • 各种浏览器网站大全酒店网站建设描述
  • 图书馆新生专栏网站建设动漫制作专业论文
  • 通辽网站seo国企有没有必要建设网站