深圳高端网站设计开发,云微助力网站建设,建设教育工程网站,搜索引擎优化趋势1.MyBatis 入门程序开发步骤 SqlSession#xff1a;代表Java程序和数据库之间的会话。#xff08;HttpSession是Java程序和浏览器之间的会话#xff09; SqlSessionFactory#xff1a;是“生产”SqlSession的“工厂”。 工厂模式#xff1a;如果创建某一个对象#xff…1.MyBatis 入门程序开发步骤 SqlSession代表Java程序和数据库之间的会话。HttpSession是Java程序和浏览器之间的会话 SqlSessionFactory是“生产”SqlSession的“工厂”。 工厂模式如果创建某一个对象使用的过程基本固定那么我们就可以把创建这个对象的相关代码封装到一个“工厂类”中以后都使用这个工厂类来“生产”我们需要的对象。 注意1默认采⽤的事务管理器是JDBC。JDBC事务默认是不提交的需要⼿动提交。 public void addStu() {//1第一步mybatis提供了一个专门用来从java程序连接mysql数据库的对象SqlSessionFactoryBuilder sqlSessionFactoryBuilder new SqlSessionFactoryBuilder();//2:创建qlSessionFactoryInputStream is StudentTest.class.getClassLoader().getResourceAsStream(mybatis-config.xml);//InputStream is Thread.currentThread().getContextClassLoader().getResourceAsStream(mybatis-config.xml);
//InputStream is Resources.getResourceAsStream(mybatis-config.xml);SqlSessionFactory sqlSessionFactory sqlSessionFactoryBuilder.build(is);// 3. 创建SqlSession对象SqlSession sqlSession sqlSessionFactory.openSession(); //喏自动提交括号写true//4: 执行sql语句 受影响的行数sqlSession.insert(); sqlSession.commit();sqlSession.close();} 2..引入日志框架logback 引⼊⽇志框架的⽬的是为了看清楚mybatis执⾏的具体sql。 启⽤标准⽇志组件只需要在1.mybatis-config.xml⽂件中添加以下配置【可参考mybatis⼿册】 mybatis-config.xml settingssetting namelogImpl valueSTDOUT_LOGGING /
/settings 2.引⼊logback相关依赖 dependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.2.11/versionscopetest/scope
/dependency 3.引⼊logback相关配置⽂件⽂件名叫做logback.xml或logback-test.xml放到类路径 当中 logback.xml ?xml version1.0 encodingUTF-8?
configuration debugfalse!--定义⽇志⽂件的存储地址--property nameLOG_HOME value/home/!-- 控制台输出 --appender nameSTDOUT classch.qos.logback.core.ConsoleAppenderencoder classch.qos.logback.classic.encoder.PatternLayoutEncode
r!--格式化输出%d表示⽇期%thread表示线程名%-5level级别从左显示5
个字符宽度%msg⽇志消息%n是换⾏符--pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logge
r{50} - %msg%n/pattern/encoder/appender!-- 按照每天⽣成⽇志⽂件 --appender nameFILE classch.qos.logback.core.rolling.RollingFileAp
penderrollingPolicy classch.qos.logback.core.rolling.TimeBasedRolling
Policy!--⽇志⽂件输出的⽂件名--FileNamePattern${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log/FileNamePattern!--⽇志⽂件保留天数--MaxHistory30/MaxHistory/rollingPolicyencoder classch.qos.logback.classic.encoder.PatternLayoutEncode
r!--格式化输出%d表示⽇期%thread表示线程名%-5level级别从左显示5
个字符宽度%msg⽇志消息%n是换⾏符--pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logge
r{50} - %msg%n/pattern/encoder!--⽇志⽂件最⼤的⼤⼩--triggeringPolicy classch.qos.logback.core.rolling.SizeBasedTrig
geringPolicyMaxFileSize100MB/MaxFileSize/triggeringPolicy/appender!--mybatis log configure--logger namecom.apache.ibatis levelTRACE/logger namejava.sql.Connection levelDEBUG/logger namejava.sql.Statement levelDEBUG/logger namejava.sql.PreparedStatement levelDEBUG/
!-- ⽇志输出级别,logback⽇志级别包括五个TRACE DEBUG INFO WARN ER
ROR --root levelDEBUGappender-ref refSTDOUT/appender-ref refFILE//root
/configuration 3.MyBatis⼯具类SqlSessionUtil的封装 public class SqlSessionUtil {private static SqlSessionFactory sqlSessionFactory;/*** 类加载时初始化sqlSessionFactory对象*/static {try {SqlSessionFactoryBuilder sqlSessionFactoryBuilder new SqlSes
sionFactoryBuilder();sqlSessionFactory sqlSessionFactoryBuilder.build(Resources.g
etResourceAsStream(mybatis-config.xml));} catch (Exception e) {e.printStackTrace();}}/*** 每调⽤⼀次openSession()可获取⼀个新的会话该会话⽀持⾃动提交。** return 新的会话对象*/public static SqlSession openSession() {return sqlSessionFactory.openSession(true);}
}