设置配置文件,sql数据库默认值怎么设置
MyBatis配置文件1,核心配置文件mybatis-config.xml
MyBatis配置文件包含严重影响MyBatis行为的设置和属性信息。
配置属性(设置)设置(类型别名)类型处理器(对象工厂) PPP )数据来源)数据库提供者)映射器) 2、环境配置)环境) MyBatis可以被配置为适应多种环境
但每个 SqlSessionFactory 实例只能选择一种环境。
环境默认值=' development ' environment id=' development ' transaction managertype=' JDBC ' property name=' . ' ' opertyname=' driver ' value=' $ { driver } '/property name=' URL ' value } property name=' username ' value=' $ { USS
MyBatis有两种类型的事务管理器: type='[JDBC|MANAGED] '。
JDBC-此配置直接使用JDBC提交和回滚功能,该功能依赖于从数据源检索的连接来管理事务范围。 managed此配置几乎什么都没做。 容器管理事务的整个生命周期,包括JEE APP应用程序服务器的上下文,而不是提交和回滚连接。 默认情况下,连接将关闭。 但是,一些容器不希望关闭连接,因此必须将closeConnection属性设置为false以防止默认关闭行为。 例如, transaction managertype=' managed ' property name=' close connection ' value=' false '/transaction mager 3358 wer
数据源dbcp c3p0 druid
dataSource元素使用标准JDBC数据源接口为JDBC连接对象配置资源。
大多数my batis APP应用程序都按照示例配置数据源。 数据源配置是可选的,但要启用延迟加载特性,必须配置数据源。 内置了三种类型的数据源。 也就是说,type=' [ un pooled ] ' :
33558www.Sina.com/-此类数据源的实现利用“池”概念来组织JDBC连接对象,从而避免了创建新的连接实例所需的初始化和验证时间。 这种处理方式很流行,允许并发web APP应用程序快速响应请求。
3、“属性”(properties )“属性”(properties )可以实现引用配置文件
这些属性可以在外部配置,并且可以动态替换。 这些属性可以在常规Java属性文件中设置,也可以在属性元素的子元素中设置。 [db.properties]
创建配置文件db.properties
driver=com.MySQL.CJ.JDBC.driver URL=JDBC : MySQL ://localhost 33603306/my batis? 部署到use SSL=trueuseunicode=truecharcterencoding=utf-8 server time zone=utc username=rootpassword=123456核心配置文件
配置文件必须位于环境之上
如果一个属性由多个位置组成,MyBatis将按以下顺序加载:
首先,读取在properties元素中指定的属性。 然后根据properties元素的resource属性读取类路径下的属性文件,或者根据url属性指定的路径读取
属性文件,并覆盖之前读取过的同名属性。最后读取作为方法参数传递的属性,并覆盖之前读取过的同名属性。 4、 类型别名(typeAliases)类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。
<!--可以给实体类起别名 --><typeAliases> <typeAlias type="com.newProject.pojo.User" alias="User"/> </typeAliases>也可以指定一个包名,MyBatis会在包名下面搜索需要的Java Bean
扫描实体类的包,他默认别名是为这个类的类名,首字母小写
<typeAliases> <typeAlias type="com.newProject.pojo"/> </typeAliases>实体类较少时用前者 可以DIY
实体类多时用后者 第二种不行
可用注解起别名
@Alias("author")public class Author { ...} 5、其他配置 typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件) mybatis-generator-coremybatis-plus通用mapper 6、 映射器MapperRegistry:注册我们的Mapper文件
方式一:
<!-- 每个Mapper.xml都需要在MyBatis核心配置文件中注册--><mappers> <mapper resource="com/newProject/dao/UserMapper.xml"/></mappers>方式二:使用class的绑定
<!-- 每个Mapper.xml都需要在MyBatis核心配置文件中注册--><mappers> <!-- <mapper resource="com/newProject/dao/UserMapper.xml"/>--> <mapper class="com.newProject.dao.UserMapper"/></mappers>注意:
接口和Mapper文件必须要同名接口和他的Mapper配置文件必须在同一个包下。方法三:使用扫描包进行注入绑定
<mappers> <package name="com.newProject.dao"/></mappers> 7、日志 7.1、日志工厂如果数据库操作出现了异常,我们需要排错。日志就是最好的助手。
曾经:sout,debug
现在:日志工厂
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-doe8WiTl-1602546462202)(image-20201011125128838.png)]
SLF4JLOG4JLOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGINGNO_LOGGING在Mybatis中具体使用哪个日志实现,在设置中设定。
STDOUT_LOGGING 标准日志输出
在mybatis核心配置中,配置自己的日志。
<settings> <setting name="logImpl" value="STDOUT_LOGGING"/></settings> 7.2、Log4j什么是Log4j?
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件。我们也可以控制每一条日志的输出格式。通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。先导入Log4j的包
<!-- https://mvnrepository.com/artifact/log4j/log4j --><dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency>配置log4j.properties
# 将等级为DEBUG的日志信息输出到console和file的两个日志目的地,console和file定义在下面的代码中log4j.rootLogger=DEBUG,console,file#控制台输出的相关设置log4j.appender.console = org.apache.log4j.ConsoleAppenderlog4j.appender.console.Target = System.outlog4j.appender.console.Threshold = DEBUGlog4j.appender.console.layout = org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern = [%c]-%m%n#文件输出的相关设置log4j.appender.file = org.apache.log4j.RollingFileAppenderlog4j.appender.file.File = ./log/example.loglog4j.appender.file.MaxFileSize = 10MBlog4j.appender.file.Threshold = DEBUGlog4j.appender.file.layout = org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern = [%p][%d{yy-MM-dd}][%c]%m%n#日志输出级别log4j.logger.org.mybatis = DEBUGlog4j.logger.java.sql =DEBUGlog4j.logger.java.sql.Statement = DEBUGlog4j.logger.java.sql.ResultSet = DEBUGlog4j.logger.java.sql.PreparedStatement = DEBUG配置log4j为日志的实现
<settings> <!--Log4j--> <setting name="logImpl" value="LOG4J"/></settings>Log4j的使用:直接测试运行原来的查询
简单使用
在使用Log4j类中,导入包
import org.apache.log4j.Logger;生成日志对象,加载参数为当前类的Class
static Logger logger = Logger.getLogger(UserTest.class);日志级别
logger.info("info:进入了testLog4j方法");logger.debug("debug:进入了testLog4j方法");logger.error("error:进入了testLog4j方法");