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

泛站群成都网红景点

泛站群,成都网红景点,wordpress右侧广告,营销型网站管理方案文章目录 一. Mybatis的简介1. 什么是ORM?2. 什么是持久层#xff1f;3. Mybatis的作用 二. Mybatis环境搭建1. 搭建一个数据库2. 创建maven项目并导入相关依赖3. Mybatis相关插件安装4. Mybatis.cfg.xml核心配置文件 三. 基于ssm逆向工程的使用1. 配置generatorConfig.xml2.… 文章目录 一. Mybatis的简介1. 什么是ORM?2. 什么是持久层3. Mybatis的作用 二. Mybatis环境搭建1. 搭建一个数据库2. 创建maven项目并导入相关依赖3. Mybatis相关插件安装4. Mybatis.cfg.xml核心配置文件 三. 基于ssm逆向工程的使用1. 配置generatorConfig.xml2. 配置maven运行generator命令 四. Mybatis增删改查案例 一. Mybatis的简介 Mybatis是一款优秀的ORM持久层框架它支持自定义 SQL、存储过程以及高级映射(一对一一对多)。Mybatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 1. 什么是ORM? Object Relation Mapping对象关系映射。对象指的是Java对象关系指的是数据库中的关系模型对象关系映射指的就是在Java对象和数据库的关系模型之间建立一种对应关系比如用一个Java的Student类去对应数据库中的一张student表类中的属性和表中的列一一对应。Student类就对应student表一个Student对象就对应student表中的一行数据。 2. 什么是持久层 持久层顾名思义是完成持久化工作的代码块也就是Date Access ObjectDao层大多数情况下特别是企业级应用数据持久化往往也就意味着将内存中的数据保存到磁盘上加以固化而持久化的实现过程则大多通过各种关系数据库来完成。层是界限是十分明显的 3. Mybatis的作用 简单易学本身就很小且简单。没有任何第三方依赖最简单安装只要两个jar文件配置几个sql映射文件就可以了易于学习易于使用通过文档和源代码可以比较完全的掌握它的设计思路和实现。灵活mybatis不会对应用程序或者数据库的现有设计强加任何影响。sql写在xml里便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。解除sql与程序代码的耦合通过提供DAO层将业务逻辑和数据访问逻辑分离使系统的设计更清晰更易维护更易单元测试。sql和代码的分离提高了可维护性。提供xml标签支持编写动态sql。现在主流使用方法 二. Mybatis环境搭建 1. 搭建一个数据库 2. 创建maven项目并导入相关依赖 pom.xml依赖 propertiesmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.target/propertiesdependencies!-- ********************** junit单元测试依赖 ********************** --dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependency!-- ********************** Java Servlet API ********************** --dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.0/versionscopeprovided/scope/dependency!-- ********************** Mybatis依赖 ********************** --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.4.5/version/dependency!-- ********************** Mysql JDBC驱动 ********************** --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.44/version/dependency!-- ********************** 日志配置 ********************** --!--记得修改mybatis.cfg.xml添加如下内容--!--setting namelogImpl valueLOG4J2/--!--核心log4j2jar包--dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-core/artifactIdversion2.9.1/version/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-api/artifactIdversion2.9.1/version/dependency!--web工程需要包含log4j-web非web工程不需要--dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-web/artifactIdversion2.9.1/version/dependency /dependenciesbuildresources!--解决mybatis-generator-maven-plugin运行时没有将XxxMapper.xml文件放入target文件夹的问题--resourcedirectorysrc/main/java/directoryincludesinclude**/*.xml/include/includes/resource!--解决mybatis-generator-maven-plugin运行时没有将jdbc.properites文件放入target文件夹的问题--resourcedirectorysrc/main/resources/directoryincludesincludejdbc.properties/includeinclude*.xml/include/includes/resource/resourcespluginsplugingroupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-maven-plugin/artifactIdversion1.3.2/versiondependencies!--使用Mybatis-generator插件不能使用太高版本的mysql驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.44/version/dependency/dependenciesconfigurationoverwritetrue/overwrite/configuration/plugin/plugins/build jdbc.properties jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://47.100.191.44:3308/mybatis_ssm?useUnicodetruecharacterEncodingUTF-8 jdbc.usernametest01 jdbc.passwordtest01web.xml web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsdversion3.1/web-app 3. Mybatis相关插件安装 Free mybatis plugin Free mybatis plugin的主要功能 提供Mapper接口与配置文件中对应SQL的导航 编辑XML文件时自动补全 根据Mapper接口, 使用快捷键生成xml文件及SQL标签 Mybatis generator Mybatis generator的主要功能 它可以生成 MyBatis 的 Java 实体类、mapper.xml 文件以及对应的 Mapper 接口极大地减少了开发人员手写 SQL 语句和映射实体类的工作量提高了开发效率。 mybatis tools mybatis tools的主要功能 提供Mapper接口方法与XML配置文件中对应SQL自由切换导航。 提供Mapper接口方法调用明细。 maven helper maven helper的主要功能 显示依赖树。从 Maven pom.xml 文件中读取依赖关系然后创建依赖树可以通过 Maven Helper 插件的图形界面来查看依赖树从而更好地理解项目的依赖关系。查找冲突的依赖关系。如果项目中存在不兼容或冲突的依赖关系Maven Helper 插件会发现这些问题并将它们列出来让你轻松修复这些错误。解决依赖关系冲突。除了发现冲突的依赖关系外Maven Helper 还可以自动解决这些问题。它通过检查不同的版本并选择最适合的版本来解决冲突的依赖关系。管理 Maven 仓库。Maven Helper 还提供了一个简单的途径来管理和清理本地的 Maven 仓库。这个功能可以帮助你更高效地使用 Maven。 4. Mybatis.cfg.xml核心配置文件 Mybatis.cfg.xml properties属性 标签 开发者可通过properties属性来实现引用配置文件。这些属性都是可外部配置且可动态替换的。 setting设置 标签 setting设置标签这是Mybatis中极为重要的调整设置它们会改变Mybatis的运行时行为。 environments环境配置标签 MyBatis 可以配置成适应多种环境 不过要记住尽管可以配置多个环境但每个 SqlSessionFactory 实例只能选择一种环境。 typeAliases 类型别名标签 typeAliases类型别名是为java类型设置一个短的名字存在的意义仅在于用来减少类完全限定名的冗余。java内置内建类型别名它们都不区分大小写注意对基本类型名称重复采用的特殊命名风格。 mappers映射器标签 注册绑定我们的Mapper文件 注意1.接口和它的Mapper配置文件必须同名 2. 接口和它的Mapper配置文件必须在同一个包下 ?xml version1.0 encodingUTF-8? !DOCTYPE configuration PUBLIC -//mybatis.org//DTD Config 3.0//EN http://mybatis.org/dtd/mybatis-3-config.dtd configuration!-- 引入外部配置文件 --properties resourcejdbc.properties/settingssetting namelogImpl valueLOG4J2//settings!-- 别名 --typeAliases!--typeAlias typecom.javaxl.model.Book aliasBook/--/typeAliases!-- 配置mybatis运行环境 --environments defaultdevelopmentenvironment iddevelopment!-- typeJDBC 代表使用JDBC的提交和回滚来管理事务 --transactionManager typejdbc/!-- mybatis提供了3种数据源类型分别是POOLED,UNPOOLED,JNDI --!-- POOLED 表示支持JDBC数据源连接池 --!-- UNPOOLED 表示不支持数据源连接池 --!-- JNDI 表示支持外部数据源连接池 --dataSource typePOOLEDproperty namedrivervalue${jdbc.driver}/property nameurlvalue${jdbc.url}/property nameusername value${jdbc.username}/property namepassword value${jdbc.password}//dataSource/environment/environmentsmappersmapper resourcecom/javaxl/mapper/BookMapper.xml//mappers /configuration 三. 基于ssm逆向工程的使用 1. 配置generatorConfig.xml generatorConfig.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE generatorConfiguration PUBLIC -//mybatis.org//DTD MyBatis Generator Configuration 1.0//ENhttp://mybatis.org/dtd/mybatis-generator-config_1_0.dtd generatorConfiguration!-- 引入配置文件 --properties resourcejdbc.properties/!--指定数据库jdbc驱动jar包的位置--classPathEntry locationD:\\maven\\mvn_repository\\mysql\mysql-connector-java\\5.1.44\\mysql-connector-java-5.1.44.jar/!-- 一个数据库一个context --context idinfoGuardian!-- 注释 --commentGeneratorproperty namesuppressAllComments valuetrue/!-- 是否取消注释 --property namesuppressDate valuetrue/ !-- 是否生成注释代时间戳 --/commentGenerator!-- jdbc连接 --jdbcConnection driverClass${jdbc.driver}connectionURL${jdbc.url} userId${jdbc.username} password${jdbc.password}/!-- 类型转换 --javaTypeResolver!-- 是否使用bigDecimal false可自动转化以下类型Long, Integer, Short, etc. --property nameforceBigDecimals valuefalse//javaTypeResolver!-- 01 指定javaBean生成的位置 --!-- targetPackage指定生成的model生成所在的包名 --!-- targetProject指定在该项目下所在的路径 --javaModelGenerator targetPackagecom.xissl.modeltargetProjectsrc/main/java!-- 是否允许子包即targetPackage.schemaName.tableName --property nameenableSubPackages valuefalse/!-- 是否对model添加构造函数 --property nameconstructorBased valuetrue/!-- 是否针对string类型的字段在set的时候进行trim调用 --property nametrimStrings valuefalse/!-- 建立的Model对象是否 不可改变 即生成的Model对象不会有 setter方法只有构造方法 --property nameimmutable valuefalse//javaModelGenerator!-- 02 指定sql映射文件生成的位置 --sqlMapGenerator targetPackagecom.xissl.mappertargetProjectsrc/main/java!-- 是否允许子包即targetPackage.schemaName.tableName --property nameenableSubPackages valuefalse//sqlMapGenerator!-- 03 生成XxxMapper接口 --!-- typeANNOTATEDMAPPER,生成Java Model 和基于注解的Mapper对象 --!-- typeMIXEDMAPPER,生成基于注解的Java Model 和相应的Mapper对象 --!-- typeXMLMAPPER,生成SQLMap XML文件和独立的Mapper接口 --javaClientGenerator targetPackagecom.xissl.mappertargetProjectsrc/main/java typeXMLMAPPER!-- 是否在当前路径下新加一层schema,false路径com.oop.eksp.user.model true:com.oop.eksp.user.model.[schemaName] --property nameenableSubPackages valuefalse//javaClientGenerator!-- 配置表信息 --!-- schema即为数据库名 --!-- tableName为对应的数据库表 --!-- domainObjectName是要生成的实体类 --!-- enable*ByExample是否生成 example类 --!--table schema tableNamet_book domainObjectNameBook--!--enableCountByExamplefalse enableDeleteByExamplefalse--!--enableSelectByExamplefalse enableUpdateByExamplefalse--!--lt;!ndash; 忽略列不生成bean 字段 ndash;gt;--!--lt;!ndash; ignoreColumn columnFRED / ndash;gt;--!--lt;!ndash; 指定列的java数据类型 ndash;gt;--!--lt;!ndash; columnOverride columnLONG_VARCHAR_FIELD jdbcTypeVARCHAR / ndash;gt;--!--/table--table schema tableNamet_mvc_Book domainObjectNameBookenableCountByExamplefalse enableDeleteByExamplefalseenableSelectByExamplefalse enableUpdateByExamplefalse!-- 忽略列不生成bean 字段 --!-- ignoreColumn columnFRED / --!-- 指定列的java数据类型 --!-- columnOverride columnLONG_VARCHAR_FIELD jdbcTypeVARCHAR / --/table/context /generatorConfiguration 2. 配置maven运行generator命令 生成JavaBeansql映射文件和Mapper接口 四. Mybatis增删改查案例 Mapper接口 package com.xissl.biz;import com.xissl.model.Book;public interface BookBiz {int deleteByPrimaryKey(Integer bid);int insert(Book record);int insertSelective(Book record);Book selectByPrimaryKey(Integer bid);int updateByPrimaryKeySelective(Book record);int updateByPrimaryKey(Book record); }添加一个类去实现这个Mapper接口 package com.xissl.biz.impl;import com.xissl.biz.BookBiz; import com.xissl.mapper.BookMapper; import com.xissl.model.Book;/*** author xissl* create 2023-08-21 10:10*/ public class BookBizImpl implements BookBiz {private BookMapper bookMapper;public BookMapper getBookMapper() {return bookMapper;}public void setBookMapper(BookMapper bookMapper) {this.bookMapper bookMapper;}Overridepublic int deleteByPrimaryKey(Integer bid) {return bookMapper.deleteByPrimaryKey(bid);}Overridepublic int insert(Book record) {return bookMapper.insert(record);}Overridepublic int insertSelective(Book record) {return bookMapper.insertSelective(record);}Overridepublic Book selectByPrimaryKey(Integer bid) {return bookMapper.selectByPrimaryKey(bid);}Overridepublic int updateByPrimaryKeySelective(Book record) {return bookMapper.updateByPrimaryKeySelective(record);}Overridepublic int updateByPrimaryKey(Book record) {return bookMapper.updateByPrimaryKey(record);} } Mybatis 工具类 package com.xissl.util;import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class SessionUtil {private static SqlSessionFactory sessionFactory;private static ThreadLocalSqlSession threadLocal new ThreadLocalSqlSession();static {sessionFactory new SqlSessionFactoryBuilder().build(SessionUtil.class.getResourceAsStream(/mybatis.cfg.xml));}public static SqlSession openSession() {SqlSession session threadLocal.get();if (null session) {session sessionFactory.openSession();threadLocal.set(session);}return session;}public static void main(String[] args) {SqlSession session openSession();System.out.println(session.getConnection());session.close(); // System.out.println(session.getConnection());} } 测试 package com.xissl.demo;import com.xissl.biz.BookBiz; import com.xissl.biz.impl.BookBizImpl; import com.xissl.mapper.BookMapper; import com.xissl.model.Book; import com.xissl.util.SessionUtil; import org.apache.ibatis.session.SqlSession; import org.junit.After; import org.junit.Before; import org.junit.Test;/*** author xissl* create 2023-08-21 10:18*/ public class demo01 {private SqlSession sqlSession;private BookBiz bookBiz;Beforepublic void before(){System.out.println(执行测试方法前执行的代码块...);sqlSession SessionUtil.openSession();BookBizImpl bookBiz new BookBizImpl();BookMapper mapper sqlSession.getMapper(BookMapper.class);bookBiz.setBookMapper(mapper);this.bookBiz bookBiz;}Afterpublic void after(){System.out.println(执行测试方法之后执行);}Testpublic void test01(){System.out.println(测试方法);Book book bookBiz.selectByPrimaryKey(25);System.out.println(book);} } 运行结果
http://www.tj-hxxt.cn/news/131828.html

相关文章:

  • 网站开发网站源码建视频网站系统吗
  • 网站做兼容处理怎么设置商务网站创建方案
  • 网站后台管理界面代码桂林象鼻山在哪
  • asp 网站信箱模板成立公司名字大全
  • 黄埔定制型网站建设结构设计软件有哪些
  • 学做沪江网站要多久360免费建站系统
  • 网站建设软件开发网站名称怎么备案
  • 规划网站开发总体方案找小程序
  • 网站规划中的三种常用类型科技公司主要是做什么的
  • 鲜花网站建设规划wordpress the7.2
  • 做pc网站排企业宣传网站建设方案
  • wordpress 调用标签云seo实战培训机构
  • 漳州专业网站建设wordpress jiathis 文章 去除
  • 汕头网站建设详细内容wordpress响应式插件
  • 男女直接做网站windows优化大师和360哪个好
  • 做网站跟app沌口开发区网页设计
  • 网站丢失了怎么找回来建设视频网站要求
  • asp网站模板源码wordpress导航去掉多余的样式
  • 典当行网站策划网站建设 精品课程
  • 百度网站的设计风格网站如何进行代码优化
  • 菏泽网站建设公司蓝希科技客户管理软件排名免费
  • 安卓软件开发公司宁波seo网络推广报价
  • 网站域名费会计分录怎么做贵港网站设计
  • 中煤第三建设集团网站外贸建站代理
  • 网站的商桥怎么做wordpress定时器插件
  • 网站建设通查询wordpress 外链跳转
  • 自已建网站微信登录重庆门户网站开发报价
  • 网络公司代做的网站注意事项洛阳便宜网站建设价格
  • 网站收录率高端汽车网站建设
  • 成品网站和模板建站上海企业建站方案