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

北京建立公司网站我的世界找建筑网站

北京建立公司网站,我的世界找建筑网站,网站系统分析的主要任务包括,装修采购网差不多根据mybatis中文文档:创建第一个mybatismaven项目,将它跑起来 入门_MyBatis中文网 新建库 建表 创建项目 重启之后 配置下Maven与encoding 成习惯了 新建模块 注意:这个GroupId和ArtifactId version是之后,你用Maven install时候后存放的包路径和包名 目录结构:虽然换…

差不多根据mybatis中文文档:创建第一个mybatismaven项目,将它跑起来

入门_MyBatis中文网

新建库

建表

创建项目

重启之后

配置下Maven与encoding  成习惯了

新建模块

注意:这个GroupId和ArtifactId  version是之后,你用Maven install时候后存放的包路径和包名

目录结构:虽然换了JDK17但是编译器版本好像不行,IDEA版本可能低了

突然发现maven不见了

输入

Maven projects

选中对应的pom.xml

maven回来了

我还是把JDK换成8算了

官网意思,从XML中构建SqlSessionFactory

也就是说,这个XML其实是在配置SqlSessionFactory

  也讲了不使用XML配置的方式

先按XML进行配置

在Resources下新建mybatis-config.xml文件名无所谓

这里讲下:有些配置文件好比一个模板,经常要使用,可以通过idea配置一下一些常用文件的模板

以便下次使用时候,可以直接创建,具体方式

IDEA常用模板文件配置_biubiubiu0706的博客-CSDN博客

这里我就按Mybatis入门复制了

把JDBC连接的驱动,URL,用户名,密码先整上



接下来

下面编写Mybatis程序 执行之后发现数据库没插入

原因是Mybatis默认获取的sqlSession对象是不支持默认提交的

看下SqlSessionFactory和sqlSession的实现类是哪个   -------->DefaultSqlSessionFactory和DefaultSqlSession  对源码有兴趣的可以看看

一般情况下都是一个数据库对应一个SqlSessionFactory对象

几个细节:

mybatis核心配置文件命名可以随自己,放的位置也可以随自己(出于程序健壮性,可移植性,最好放在resources目录下)

mybatis的xxxMaper.xml里的sql语句可以;(分号结尾)也可以省略不写

通过同一个SqlSessionFactory对象可以获得多个不同sqlSession对象

Resources.getResourceAsStream("mybatis-config.xml");这个是mybatis封装的API,一般遇到Resources说明都是resources目录下的,加入你的mybatis配置文件在resources下的xxx包下yyy.xml

那么

InputStream inputStream = Resources.getResourceAsStream("xxx/yyy.xml");

获取到一个输入流

然后将输入流放到build方法内

SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);

那么能不能自己new个流呢?也是可以的,比如将配置文件放在D盘某目录下

InputStream in=new FileInputStream("d:\\mybatis-config.xml")

或者InputStream in=new FileInputStream("d:/mybatis-config.xml")

但是这样的缺点是就是移植性差,放到苹果电脑就不行了

指定resouces目录下,到哪里都可以用.

另外加载mybatis核心配置文件还有一种方式用类加载器去获得系统类加载器调用getResourceAsStream("文件名")的方式

InputStream in=ClassLoader.getSystemClassLoad().getResourceAsStream("mybatis-config.xml");

其实也可以直接这样InputStream in=ClassLoader.getSystemResourceAsStream("mybatis-config.xml");

<!--resource属性会自动从类的根路径下开始查找资源-->
<!--
1.<package name="包名"> 标签用于自动扫描指定包下的映射文件,要求映射文件名和接口名保持一致,并且映射文件(.xml)和接口需要在同一个包中,否则会报错。
2.<mapper class=""> 标签的class属性用于注册映射文件,同样要求映射文件名和接口名保持一致,并且映射文件(.xml)和接口需要在同一个包中,否则会报错。
3.<mapper resource="org/xx/demo/mapper/xx.xml"/> 标签用于注册映射文件,与上述两种方式不同,这种方式不要求映射文件名和接口名一致。这里是通过命名空间(namespace)和mapper接口对应的,命名空间要与接口的全限定名保持一致。
4.<mapper url="file:///d:/CarMapper.xml" />是绝对路径加载映射文件的,而且 .xml 文件的名称并不需要和接口名称相同。通过命名空间指定和接口关系
-->
<!--告诉mybatis去哪里找mapper文件-->
<mappers><mapper resource="mapper/CarMapperABC.xml"/>
</mappers>

关于Mybatis的事务管理机制

 <!--transactionManager:事务管理器type取值有两种:1:type="JDBC",使用java.sql.Connection管理事务2:type="MANAGED",文档解释,几乎什么都不做,它不提交或回滚一个连接,而是让容器来管理事务的整个生命周期--><!--mybatis提供了两种事务管理机制1.JDBC(可小写)事务管理器:mybatis框架自己管理事务,实际就是采用原生JDBC代码管理事务好比写JDBC时: conn.setAutoCommit(false);......业务处理......conn.commit();手动提交2.MANAGED(可小写)事务管理器mybatis不再管理事务,事务交给其他容器负责:例如Spring但是这里用MANAGED,因为没有容器好比事务没有开启,就会变成没有事务这回事,直接干了
--><transactionManager type="JDBC"/>

如果使用的事务管理器类型是JDBC的话

SqlSession sqlSession = sqlSessionFactory.openSession();

这句代码底层会执行conn.setAutoCommit(false);

如果使用的事务管理器类型是MANAGED的话,交给容器管理.比如交给Spring管理了.一般就是没有事务了,自动提交了

openSession有个重载方法:

SqlSession sqlSession = sqlSessionFactory.openSession(true);意思是自动提交

在JDBC事务中,如果没有设置conn.setAutoCommit(false);的话conn.getAutoConmmit()本身就是true;

 经过上面介绍,写一个差不多完整版本的Mybatis入门程序

为了以后测试方便,不需要测试一个就写个main方法,引入JUnit(单元测试)

新建个模块测试Junit

Maven项目

引入依赖

比如说需要对该业务方法进行测试

在test包下建测试类     这个断言挺好用

Mybatis中引入junit

在单元测试中编写Mybatis程序

可以看到现在没有日志输出

关于Mybatis集成日志框架logback.可以让调试更加方便

下面记录是以前的学习记录

另外说一下 在配置文件里  点进去  有个标签的顺序问题,需要按顺序来

关于在配置文件里Mybatis集成日志框架logback.

在官方文档设置里

这样就有日志输出了

但是详细时间,线程名称,如果想使用更加丰富的日志,可以集成第三方依赖

SLF4(沙拉风):沙拉风是一个日志标准,其中有一个框架叫做logback,它实现了沙拉风规范

LOG4J:

LOG4J2:

STDOUT_LOGGING:Mybatis内置标准日志实现

....

注意:SLF4,LOG4J,LOG4J2作者是同一个人

修改Mybatis配置文件     注意如果用第三方依赖  这个settings可以不配置   这里不配置也是可以的

其实不需要配置   除非用内置

引入jar包

然后引入logback所必须的xml配置文件

这个配置文件必须叫做:logback.xml或者logback-test.xml,不能是其它的名字.

这个配置文件必须放在类的根目录下.不能是其他位置

logback.xml代码

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false"><!--定义⽇志⽂件的存储地址--><property name="LOG_HOME" value="/home"/><!-- 控制台输出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示⽇期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:⽇志消息,%n是换⾏符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder></appender><!-- 按照每天⽣成⽇志⽂件 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--⽇志⽂件输出的⽂件名--><FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern><!--⽇志⽂件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示⽇期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:⽇志消息,%n是换⾏符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder><!--⽇志⽂件最⼤的⼤⼩--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>100MB</MaxFileSize></triggeringPolicy></appender><!--mybatis log configure--><logger name="com.apache.ibatis" level="TRACE"/><logger name="java.sql.Connection" level="DEBUG"/><logger name="java.sql.Statement" level="DEBUG"/><logger name="java.sql.PreparedStatement" level="DEBUG"/><!-- ⽇志输出级别,logback⽇志级别包括五个:TRACE < DEBUG < INFO < WARN < ERROR --><root level="DEBUG"><appender-ref ref="STDOUT"/><appender-ref ref="FILE"/></root>
</configuration>

测试

 

http://www.yayakq.cn/news/212727/

相关文章:

  • 网站建设基础教学设计wordpress 文章导入
  • 网站怎样制作 优帮云晋江在线网站建设
  • 酒吧网站模板网站建设合同付款方式
  • 网站的建设步骤建站公司还赚钱吗
  • 品牌网站建设意义做雕塑网站
  • 成都网站设计服务商网站建设全程揭秘pdf
  • Python电影网站开发南昌的网站推广公司
  • 国外做无纺布的网站西安自助网站建设系统
  • 宁波seo网站建设费用绍兴网站设计公司
  • 个人能网站建设沧州网站制作报价
  • 网站建设 软件有哪些网站建设要点
  • 德州市住房建设局网站智通人才网招聘信息
  • 网站首页设计布局wordpress文章存在哪
  • 千博企业网站系统一家专做有机蔬菜的网站
  • 图片网站建站系统科技软件公司网站模板
  • 口碑好的网站建设哪家好建设银行河北省分行官方网站
  • 廊坊百度网站排名网站 chat now怎么做
  • 网站服务器哪家好些叫人做网站要注意
  • 苏州企业网站建jsp租房网站开发
  • 样式表一般用于大型网站何如做外贸网站推网
  • 网站建设需要会代码吗设计方案评价
  • 宁海网站建设专门做预言的网站
  • 帮人恶意点击网站怎么免费制作企业网站
  • 可以免费打开网站的软件下载专业网站建设技术
  • 书店建设网站的能力临时网站搭建
  • 网站关键字如何选择seo是做什么工作内容
  • 你好南京网站分销系统开发多少钱
  • 图书网站开发的实践意义产品开发怎么写
  • 创建公司网站用什么软件服装 多语言 网站源码
  • 申请域名后可以做自己的网站吗可以直接进入的网站正能量大豆网