商品展示型网站有哪些小程序源码怎么使用

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

商品展示型网站有哪些,小程序源码怎么使用,深圳提倡居家办公,长沙网站建设推广1.mybatis介绍 MyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息#xff0c;将接口和 Java 的 实体类映射成数据库中的记录 官网 Mybatis中文官方文档 : https…1.mybatis介绍 MyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息将接口和 Java 的 实体类映射成数据库中的记录 官网 Mybatis中文官方文档 : https://mybatis.net.cn/GitHub : GitHub - mybatis/mybatis-3: MyBatis SQL mapper framework for Java 2.持久化和持久层 持久化 持久化是将程序数据在持久状态和瞬时状态间转换的机制。 即把数据如内存中的对象保存到可永久保存的存储设备中如磁盘。持久化的主要应用是将内存中的对象存储在数据库中或者存储在磁盘文件中、XML数据文件中等等。JDBC就是一种持久化机制。文件IO也是一种持久化机制。在生活中 : 将鲜肉冷藏吃的时候再解冻的方法也是。将水果做成罐头的方法也是。为什么需要持久化服务呢那是由于内存本身的缺陷引起的 内存断电后数据会丢失但有一些对象是无论如何都不能丢失的比如银行账号等遗憾的是人们还无法保证内存永不掉电。内存过于昂贵与硬盘、光盘等外存相比内存的价格要高2~3个数量级而且维持成本也高至少需要一直供电吧。所以即使对象不需要永久保存也会因为内存的容量限制不能一直呆在内存中需要持久化来缓存到外存。 持久层 什么是持久层 完成持久化工作的代码块 . —— dao层 【DAO (Data Access Object) 数据访问对象】大多数情况下特别是企业级应用数据持久化往往也就意味着将内存中的数据保存到磁盘上加以固化而持久化的实现过程则大多通过各种关系数据库来完成。不过这里有一个字需要特别强调也就是所谓的“层”。对于应用系统而言数据持久功能大多是必不可少的组成部分。也就是说我们的系统中已经天然的具备了“持久层”概念也许是但也许实际情况并非如此。之所以要独立出一个“持久层”的概念,而不是“持久模块”“持久单元”也就意味着我们的系统架构中应该有一个相对独立的逻辑层面专著于数据持久化逻辑的实现.与系统其他部分相对而言这个层面应该具有一个较为清晰和严格的逻辑边界。 【说白了就是用来操作数据库存在的】 3.mybatis的jar包 dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversionx.x.x/version /dependency dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversionx.x.x/version /dependency 如果已经与springboot集成则是这个jar包 dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversionx.x.x/version/dependency 4.mybatis-config配置文件 数据库连接看自己的版本mysql的版本自行修改 ?xml version1.0 encodingUTF-8 ? !DOCTYPE configuration PUBLIC -//mybatis.org//DTD Config 3.0//EN http://mybatis.org/dtd/mybatis-3-config.dtd configurationsettingssetting namecacheEnabled valuetrue//settings!–实体别名–typeAliasestypeAlias typecom.x.x.x aliasuser//typeAliases!–环境信息–environments defaultmysqlenvironment idmysqltransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver valuecom.mysql.cj.jdbc.Driver/property nameurlvaluejdbc:mysql://localhost:3306/test?useUnicodetrueamp;serverTimezoneGMT%2B8/property nameusername valueroot/property namepassword value123456//dataSource/environment/environments!–Mapper映射文件–mappersmapper resourceuserDaoMapper.xml//mappers /configuration 5.MyBatis工具类   import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.InputStream; public class MybatisUtils {private static SqlSessionFactory sqlSessionFactory;static {try {String resource mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resource);sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}//获取SqlSession连接public static SqlSession getSession(){return sqlSessionFactory.openSession();} } 6.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.x.x.xMapperselect idselectUser resultTypecom.x.x.xselect * from x/select /mapper 7.Maven静态资源过滤问题 resourcesresourcedirectorysrc/main/java/directoryincludesinclude/*.properties/includeinclude/.xml/include/includesfilteringfalse/filtering/resourceresourcedirectorysrc/main/resources/directoryincludesinclude**/.properties/includeinclude/*.xml/include/includesfilteringfalse/filtering/resource /resources 权限问题在springboot整合后也需要使用 8.核心配置文件 mybatis-config.xml 系统核心配置文件MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。能配置的内容如下 configuration配置properties属性settings设置typeAliases类型别名typeHandlers类型处理器objectFactory对象工厂plugins插件environments环境配置environment环境变量transactionManager事务管理器dataSource数据源databaseIdProvider数据库厂商标识mappers映射器!– 注意元素节点的顺序顺序不对会报错 – 我们可以阅读 mybatis-config.xml 上面的dtd的头文件 A.environments元素 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 配置MyBatis的多套运行环境将SQL映射到多个不同的数据库上必须指定其中一个为默认运行环境通过default指定 子元素节点environment 具体的一套环境通过设置id进行区别id保证唯一
子元素节点transactionManager - [ 事务管理器 ] !– 语法 – transactionManager type[ JDBC | MANAGED ]/ 这两种事务管理器类型都不需要设置任何属性。 子元素节点数据源dataSource dataSource 元素使用标准的 JDBC 数据源接口来配置 JDBC 连接对象的资源。 数据源是必须配置的。 有三种内建的数据源类型
type[UNPOOLED|POOLED|JNDI] unpooled 这个数据源的实现只是每次被请求时打开和关闭连接。 pooled 这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来 , 这是一种使得并发 Web 应用快速响应请求的流行处理方式。 jndi这个数据源的实现是为了能在如 Spring 或应用服务器这类容器中使用容器可以集中或在外部配置数据源然后放置一个 JNDI 上下文的引用。 数据源也有很多第三方的实现比如dbcpc3p0druid等等…. B.typeAliases优化 类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关存在的意义仅在于用来减少类完全限定名的冗余。 !–配置别名,注意顺序– typeAliasestypeAlias typecom.x.pojo.User aliasUser/ /typeAliases 当这样配置时User可以用在任何使用com.x.pojo.User的地方。 也可以指定一个包名MyBatis 会在包名下面搜索需要的 Java Bean比如: typeAliasespackage namecom.x.pojo/ /typeAliases 每一个在包的 Java Bean 在没有注解的情况下会使用 Bean 的首字母小写的非限定类名来作为它的别名。 若有注解则别名为其注解值。见下面的例子 Alias(user) public class User {… } 9.完整引入mybatis以及测试类jar包 !– 导入依赖 – dependencies!–mysql驱动–dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversionx.x.x/version/dependency!–mybatis–dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversionx.x.x/version/dependency!–junit–dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependency /dependencies buildresourcesresourcedirectorysrc/main/java/directoryincludesinclude
/.properties/includeinclude**/.xml/include/includesfilteringtrue/filtering/resourceresourcedirectorysrc/main/resources/directoryincludesinclude/*.properties/includeinclude/*.xml/include/includesfilteringtrue/filtering/resource/resources /build 10.测试类 public class MyTest {Testpublic void selectUser() {SqlSession session MybatisUtils.getSession();//填写自己的内容session.close();} } 注意 所有的增删改操作都需要提交事务接口所有的普通参数尽量都写上Param参数尤其是多个参数时必须写上有时候根据业务的需求可以考虑使用map传递参数为了规范操作在SQL的配置文件中我们尽量将Parameter参数和resultType都写上 11.其他配置 设置 (settings) 相关 查看帮助文档 懒加载日志实现缓存开启关闭 一个配置完整的 settings 元素的示例如下 settingssetting namecacheEnabled valuetrue/setting namelazyLoadingEnabled valuetrue/setting namemultipleResultSetsEnabled valuetrue/setting nameuseColumnLabel valuetrue/setting nameuseGeneratedKeys valuefalse/setting nameautoMappingBehavior valuePARTIAL/setting nameautoMappingUnknownColumnBehavior valueWARNING/setting namedefaultExecutorType valueSIMPLE/setting namedefaultStatementTimeout value25/setting namedefaultFetchSize value100/setting namesafeRowBoundsEnabled valuefalse/setting namemapUnderscoreToCamelCase valuefalse/setting namelocalCacheScope valueSESSION/setting namejdbcTypeForNull valueOTHER/setting namelazyLoadTriggerMethods valueequals,clone,hashCode,toString/ /settings 类型处理器 无论是 MyBatis 在预处理语句PreparedStatement中设置一个参数时还是从结果集中取出一个值时 都会用类型处理器将获取的值以合适的方式转换成 Java 类型。你可以重写类型处理器或创建你自己的类型处理器来处理不支持的或非标准的类型。【了解即可】 对象工厂 MyBatis 每次创建结果对象的新实例时它都会使用一个对象工厂ObjectFactory实例来完成。默认的对象工厂需要做的仅仅是实例化目标类要么通过默认构造方法要么在参数映射存在的时候通过有参构造方法来实例化。如果想覆盖对象工厂的默认行为则可以通过创建自己的对象工厂来实现。【了解即可】