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

科技服务网站建设方案贵州省高层建筑信息平台

科技服务网站建设方案,贵州省高层建筑信息平台,国外服务器地址ip,淘客必须做网站注意点#xff1a;增、删、改操作需要提交事务#xff01; 为了规范操作#xff0c;在SQL的配置文件中#xff0c;我们尽量将Parameter参数和resultType都写上#xff01; 编写Mapper接口类 import com.da.pojo.User; import java.util.List; public interface UserMapper… 注意点增、删、改操作需要提交事务 为了规范操作在SQL的配置文件中我们尽量将Parameter参数和resultType都写上 编写Mapper接口类 import com.da.pojo.User; import java.util.List; public interface UserMapper {ListUser selectUser(); } 编写Mapper.xml配置文件 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.da.dao.UserMapperselect idselectUser resultTypecom.da.pojo.Userselect * from user/select /mapper select select标签是mybatis中最常用的标签之一select语句有很多属性可以详细配置每一条SQL语句 SQL语句返回值类型。传入SQL语句的参数类型 。命名空间中唯一的标识符接口中的方法名与映射文件中的SQL语句ID 一一对应idparameterTyperesultType 在UserMapper中添加对应方法 public interface UserMapper {//查询全部用户ListUser selectUser();//根据id查询用户User selectUserById(int id); } 在UserMapper.xml中添加Select语句 select idselectUserById resultTypecom.da.pojo.Userselect * from user where id  #{id} /select 在UserMapper接口中添加对应的方法 //添加一个用户 int addUser(User user); 在UserMapper.xml中添加insert语句 insert idaddUser parameterTypecom.da.pojo.Userinsert into user (id,name,pwd) values (#{id},#{name},#{pwd}) /insert //修改一个用户 int updateUser(User user); update idupdateUser parameterTypecom.da.pojo.Userupdate user set name#{name},pwd#{pwd} where id  #{id} /update 根据id删除一个用户 //根据id删除用户 int deleteUser(int id); 编写对应的配置文件SQL delete iddeleteUser parameterTypeintdelete from user where id  #{id} /delete select * from foo where bar like #{value}select * from foo where bar like %#{value}% configuration配置properties属性settings设置typeAliases类型别名typeHandlers类型处理器objectFactory对象工厂plugins插件environments环境配置environment环境变量transactionManager事务管理器dataSource数据源databaseIdProvider数据库厂商标识mappers映射器 !-- 注意元素节点的顺序顺序不对会报错 -- environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBCproperty name... value...//transactionManagerdataSource typePOOLEDproperty namedriver value${driver}/property nameurl value${url}/property nameusername value${username}/property namepassword value${password}//dataSource/environment /environments 子元素节点environment 具体的一套环境通过设置id进行区别id保证唯一 子元素节点transactionManager - [ 事务管理器 ] !-- 语法 -- transactionManager type[ JDBC | MANAGED ]/ 子元素节点数据源dataSource dataSource 元素使用标准的 JDBC 数据源接口来配置 JDBC 连接对象的资源。数据源是必须配置的。 type[UNPOOLED|POOLED|JNDI] unpooled这个数据源的实现只是每次被请求时打开和关闭连接。pooled这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来 , 这是一种使得并发 Web 应用快速响应请求的流行处理方式。jndi这个数据源的实现是为了能在如 Spring 或应用服务器这类容器中使用容器可以集中或在外部配置数据源然后放置一个 JNDI 上下文的引用。数据源也有很多第三方的实现比如dbcpc3p0druid等等…. Mapper文件 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.da.mapper.UserMapper /mapper namespace中文意思命名空间作用如下 namespace的命名必须跟某个接口同名接口中的方法与映射文件中sql语句id应该一一对应 namespace和子元素的id联合保证唯一 , 区别不同的mapper绑定DAO接口namespace命名规则 : 包名类名 MyBatis 的真正强大在于它的映射语句这是它的魔力所在。由于它的异常强大映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比会立即发现省掉了将近 95% 的代码。MyBatis 为聚焦于 SQL 而构建以尽可能地减少麻烦。 db.properties drivercom.mysql.jdbc.Driver urljdbc:mysql://localhost:3306/mybatis?useSSLtrueuseUnicodetruecharacterEncodingutf8 usernameroot password123456 typeAliases优化 !--配置别名,注意顺序-- typeAliases typeAlias typecom.da.pojo.User aliasUser/ /typeAliases 无论是 MyBatis 在预处理语句PreparedStatement中设置一个参数时还是从结果集中取出一个值时 都会用类型处理器将获取的值以合适的方式转换成 Java 类型。 可以重写类型处理器或创建自己的类型处理器来处理不支持的或非标准的类型。 MyBatis 每次创建结果对象的新实例时它都会使用一个对象工厂ObjectFactory实例来完成。默认的对象工厂需要做的仅仅是实例化目标类要么通过默认构造方法要么在参数映射存在的时候通过有参构造方法来实例化。如果想覆盖对象工厂的默认行为则可以通过创建自己的对象工厂来实现。 作用域理解 SqlSessionFactoryBuilder 的作用在于创建 SqlSessionFactory创建成功后SqlSessionFactoryBuilder 就失去了作用所以它只能存在于创建 SqlSessionFactory 的方法中而不要让其长期存在。因此 SqlSessionFactoryBuilder 实例的最佳作用域是方法作用域也就是局部方法变量。SqlSessionFactory 可以被认为是一个数据库连接池它的作用是创建 SqlSession 接口对象。因为 MyBatis 的本质就是 Java 对数据库的操作所以 SqlSessionFactory 的生命周期存在于整个 MyBatis 的应用之中所以一旦创建了 SqlSessionFactory就要长期保存它直至不再使用 MyBatis 应用所以可以认为 SqlSessionFactory 的生命周期就等同于 MyBatis 的应用周期。由于 SqlSessionFactory 是一个对数据库的连接池所以它占据着数据库的连接资源。如果创建多个 SqlSessionFactory那么就存在多个数据库连接池这样不利于对数据库资源的控制也会导致数据库连接资源被消耗光出现系统宕机等情况所以尽量避免发生这样的情况。因此在一般的应用中我们往往希望 SqlSessionFactory 作为一个单例让它在应用中被共享。所以说 SqlSessionFactory 的最佳作用域是应用作用域。如果说 SqlSessionFactory 相当于数据库连接池那么 SqlSession 就相当于一个数据库连接Connection 对象可以在一个事务里面执行多条 SQL然后通过它的 commit、rollback 等方法提交或者回滚事务。所以它应该存活在一个业务请求中处理完整个请求后应该关闭这条连接让它归还给 SqlSessionFactory否则数据库资源就很快被耗费精光系统就会瘫痪所以用 try…catch…finally… 语句来保证其正确关闭。所以 SqlSession 的最佳的作用域是请求或方法作用域。 PreAuthorize(ss.hasPermi(system:good:list)) GetMapping(/list) public TableDataInfo list() {startPage();ListGoodsGood list  goodsGoodService.selectGoodsGoodList();return getDataTable(list); } el-col :span1.5el-buttontypewarningplainiconel-icon-downloadsizeminiclickhandleExportv-hasPermi[goods:good:export]导出/el-button /el-colhandleExport() {this.download(goods/good/export, {...this.queryParams}, good_${new Date().getTime()}.xlsx) } image.png public class User {private int id;  //idprivate String name;   //姓名private String password;   //密码和数据库不一样//构造//set/get//toString() } //根据id查询用户 User selectUserById(int id); select idselectUserById resultTypeuserselect * from user where id  #{id} /selectselect idselectUserById resultTypeUserselect id , name , pwd as password from user where id  #{id} /select Test public void testSelectUserById() {SqlSession session  MybatisUtils.getSession();  //获取SqlSession连接UserMapper mapper  session.getMapper(UserMapper.class);User user  mapper.selectUserById(1);System.out.println(user);session.close(); } 使用结果集映射-ResultMap resultMap idUserMap typeUser!-- id为主键 --id columnid propertyid/!-- column是数据库表的列名 , property是对应实体类的属性名 --result columnname propertyname/result columnpwd propertypassword/ /resultMap select idselectUserById resultMapUserMapselect id , name , pwd from user where id  #{id} /select 自动映射在 MyBatis 中扮演着非常重要且强大的角色其中 resultMap 元素更是起到了关键作用。使用它可以让繁琐的 JDBC ResultSet 数据提取代码中解放出来甚至对于连接复杂语句的映射代码一份 resultMap 也能代替数千行的代码。 ResultMap 的设计思想非常巧妙简单语句无需配置显式的结果映射而对于稍微复杂一点的语句只需要描述它们之间的关系即可。 select idselectUserById resultTypemapselect id , name , pwd from user where id  #{id} /select 将所有的列映射到 HashMap 的键上这由 resultType 属性指定。 select idselectUserById resultMapUserMapselect id , name , pwd from user where id  #{id} /selectresultMap idUserMap typeUser!-- id为主键 --id columnid propertyid/!-- column是数据库表的列名 , property是对应实体类的属性名 --result columnname propertyname/result columnpwd propertypassword/ /resultMap 加群联系作者vxxiaoda0423 仓库地址https://github.com/webVueBlog/JavaGuideInterview
http://www.hkea.cn/news/14322345/

相关文章:

  • 网络彩票网站开发wordpress 重定向的次数过多
  • 腾虎广州网站建设舟山公司做网站
  • 电信网站开发语言主要用什么潍坊那个公司做网站比较好
  • 公司网页网站建设 pptwordpress 插件 样式
  • 我的世界做墙纸网站自己建网站多少钱
  • 南海建设工程交易中心网站邢台网红二妹
  • 网站建设 爱诚科技公司四川城乡建设部网站
  • 有域名有空间怎么做网站网站制作原理
  • 公司网站费用怎么做分录网站服务器做缓存
  • 做网站公司昆山会计培训
  • 四川建设人员数据网站国外旅游哪几个网站做攻略好
  • 微信h5在哪个网站做织梦个人网站
  • 北京学会网站建设广州市番禺区建设局网站
  • 濮阳市网站建设个人建站软件
  • 重庆简约型网站开发价格临淄信息网招聘最新信息
  • 广州门户网站制作网页设计作品欣赏分析
  • 网站开发 书籍酒店如何做网络营销
  • 国家重点项目建设部网站湖南长沙微信平台号
  • centos6.3 网站开发火蝠电商代运营公司
  • 电话用网站做综合布线新航道培训机构怎么样
  • 做 网站 技术支持 抓获 互助南宁市住房和城乡建设局
  • 中山建网站找哪家手绘教学网站
  • 网站建设创业项目简介赣州网站优化制作
  • 苏州知名网站建设公司关于地产设计网站
  • 捷讯官网 网站建设网站做子域名
  • 做一小说网站要花多钱wordpress 小说网站
  • 重庆最新情况 最新消息网站网站怎么优化关键词排名
  • 最好的dm单网站建设永嘉县住房建设局网站
  • 河北省建设局网站首页企业计划书怎么写
  • 网站备案 湖北怎么做网页制作网站模板