人网站设计与制作,网站搬迁,wordpress add_theme_page,开发公司网签的流程目录
第一章 初识Mybatis
第二章 搭建Mybatis框架
第三章 Mybatis核心配置详解【mybatis-config.xml】
第一章 初识Mybatis
1.1 框架概述 生活中“框架” 买房子 笔记本电脑 程序中框架【代码半成品】 Mybatis框架#xff1a;持久化层框架【dao层】 SpringMVC框架持久化层框架【dao层】 SpringMVC框架控制层框架【Servlet层】 Spring框架全能...
1.2 Mybatis简介 Mybatis是一个半自动化持久化层ORM框架 ORMObject Relational Mapping【对象 关系 映射】 将Java中的对象与数据库中表建议映射关系优势操作Java中的对象就可以影响数据库中表的数据 Mybatis与Hibernate对比 Mybatis是一个半自动化【需要手写SQL】 Hibernate是全自动化【无需手写SQL】 Mybatis与JDBC对比 JDBC中的SQL与Java代码耦合度高 Mybatis将SQL与Java代码解耦 Java POJOPlain Old Java Objects普通老式 Java 对象 JavaBean 等同于 POJO
1.3 官网地址 文档地址mybatis – MyBatis 3 | Introduction 源码地址GitHub - mybatis/mybatis-3: MyBatis SQL mapper framework for Java
第二章 搭建Mybatis框架 导入jar包 编写配置文件 使用核心类库 2.1 准备 建库建表建约束 准备maven工程
2.2 搭建Mybatis框架步骤 导入jar包 !--导入MySQL的驱动包--
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.37/version
/dependency
!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.26/version
/dependency!--导入MyBatis的jar包--
dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.6/version
/dependency
!--junit--
dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope
/dependency 编写核心配置文件【mybatis-config.xml】 位置resources目标下 名称推荐使用mybatis-config.xml 示例代码 ?xml version1.0 encodingUTF-8 ?
!DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtdconfigurationenvironments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLED
!-- mysql8版本--
!-- property namedriver valuecom.mysql.cj.jdbc.Driver/--
!-- property nameurl valuejdbc:mysql://localhost:3306/db220106?serverTimezoneUTC/--
!-- mysql5版本--property namedriver valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/db220106/property nameusername valueroot/property namepassword valueroot//dataSource/environment/environments!-- 设置映射文件路径--mappersmapper resourcemapper/EmployeeMapper.xml//mappers
/configuration 书写相关接口及映射文件 映射文件位置resources/mapper 映射文件名称XXXMapper.xml 映射文件作用主要作用为Mapper接口书写Sql语句 映射文件名与接口名一致 映射文件namespace与接口全类名一致 映射文件SQL的Id与接口的方法名一致 示例代码 ?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.atguigu.mybatis.mapper.EmployeeMapperselect idselectEmpById resultTypecom.atguigu.mybatis.pojo.EmployeeSELECTid,last_name,email,salaryFROMtbl_employeeWHEREid#{empId}/select
/mapper 测试【SqlSession】 先获取SqlSessionFactory对象 再获取SqlSession对象 通过SqlSession对象获取XXXMapper代理对象 测试
2.3 添加Log4j日志框架 导入jar包 !-- log4j --
dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version
/dependency 编写配置文件 配置文件名称log4j.xml 配置文件位置resources 示例代码 ?xml version1.0 encodingUTF-8 ?
!DOCTYPE log4j:configuration SYSTEM log4j.dtdlog4j:configuration xmlns:log4jhttp://jakarta.apache.org/log4j/appender nameSTDOUT classorg.apache.log4j.ConsoleAppenderparam nameEncoding valueUTF-8 /layout classorg.apache.log4j.PatternLayoutparam nameConversionPattern value%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n //layout/appenderlogger namejava.sqllevel valuedebug //loggerlogger nameorg.apache.ibatislevel valueinfo //loggerrootlevel valuedebug /appender-ref refSTDOUT //root
/log4j:configuration
第三章 Mybatis核心配置详解【mybatis-config.xml】
3.1 核心配置文件概述 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。
3.2 核心配置文件根标签 没有实际语义主要作用所有子标签均需要设置在跟标签内部
3.3 核心配置文件常用子标签 properties子标签 作用定义或引入外部属性文件 示例代码 #keyvalue
db.drivercom.mysql.jdbc.Driver
db.urljdbc:mysql://localhost:3306/db220106
db.usernameroot
db.passwordroot properties resourcedb.properties/propertiesenvironments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLED
!-- mysql8版本--
!-- property namedriver valuecom.mysql.cj.jdbc.Driver/--
!-- property nameurl valuejdbc:mysql://localhost:3306/db220106?serverTimezoneUTC/--
!-- mysql5版本--property namedriver value${db.driver}/property nameurl value${db.url}/property nameusername value${db.username}/property namepassword value${db.password}//dataSource/environment/environments settings子标签 作用这是 MyBatis 中极为重要的调整设置它们会改变 MyBatis 的运行时行为。 mapUnderscoreToCamelCase属性是否开启驼峰命名自动映射默认值false如设置true会自动将 字段a_col与aCol属性自动映射 注意只能将字母相同的字段与属性自动映射 类型别名typeAliases 作用类型别名可为 Java 类型设置一个缩写名字。 语法及特点 typeAliases
!-- 为指定类型定义别名--
!-- typeAlias typecom.atguigu.mybatis.pojo.Employee aliasemployee/typeAlias--
!-- 为指定包下所有的类定义别名默认将类名作为别名不区分大小写【推荐使用小写字母】
--package namecom.atguigu.mybatis.pojo//typeAliases Mybatis自定义别名 别名类型_intintinteger或intIntegerstringStringlist或arraylistArrayListmap或hashmapHashMap 环境配置environments 作用设置数据库连接环境 示例代码 !-- 设置数据库连接环境--environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLED
!-- mysql8版本--
!-- property namedriver valuecom.mysql.cj.jdbc.Driver/--
!-- property nameurl valuejdbc:mysql://localhost:3306/db220106?serverTimezoneUTC/--
!-- mysql5版本--property namedriver value${db.driver}/property nameurl value${db.url}/property nameusername value${db.username}/property namepassword value${db.password}//dataSource/environment/environments mappers子标签 作用设置映射文件路径 示例代码 !-- 设置映射文件路径--mappersmapper resourcemapper/EmployeeMapper.xml/!-- 要求接口的包名与映射文件的包名需要一致--
!-- package namecom.atguigu.mybatis.mapper/--/mappers 注意核心配置中的子标签是有顺序要求的。