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

深圳市建设银行网站首页长春做网站哪家公司好

深圳市建设银行网站首页,长春做网站哪家公司好,4399在线观看免费高清1080,做的网站怎么放到域名文章目录1.ORM2. 数据库表3. 入门程序3.1 创建项目3.2 开发3.3 一个比较完整规格的mybatis程序3.4 测试案例 junit3.5 对第一个mybatis使用junit测试3.6 集成日志框架logback3.7mybatis工具类编写1.ORM Object(JVM中的Java对象) Relational(关系型数据库) Mapping(映射) mybat… 文章目录1.ORM2. 数据库表3. 入门程序3.1 创建项目3.2 开发3.3 一个比较完整规格的mybatis程序3.4 测试案例 junit3.5 对第一个mybatis使用junit测试3.6 集成日志框架logback3.7mybatis工具类编写1.ORM Object(JVM中的Java对象) Relational(关系型数据库) Mapping(映射) mybatis是一个半自动化的ORM可以将数据库中的一条记录映射到一个Java对象但是sql语句要自己写所有说是半自动化。Hibernate是一个全自动化的ORM不用自己写sql语句。 2. 数据库表 DROP TABLE IF EXISTS t_car; CREATE TABLE t_car (id bigint(20) NOT NULL COMMENT 自然主键,car_num varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 汽车编号,brand varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 汽车品牌,guide_price decimal(10, 2) NULL DEFAULT NULL COMMENT 厂商指导价,produce_time char(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 生产日期,car_type varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 汽车类型燃油车 新能源 氢能源,PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT Dynamic;SET FOREIGN_KEY_CHECKS 1; 3. 入门程序 3.1 创建项目 1创建一个名为mybatis的空Project 2修改使用JDK17 3修改指向自己下载的maven3.8.8 3.2 开发 1新建maven模块 2resources 放到这个包下面的一般是配置文件资源直接放到这里等同于放到类的根目录之下。 3指定打包方式 packagingjar/packaging(4)引入依赖 dependencies!-- mybatis依赖 --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.10/version/dependency!-- mysql依赖 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.37/version/dependency/dependencies(5)编写mybatis核心配置文件mybatis-config.xml 官网例子 (6)编写XxxxMapper.xml文件 官网例子 (7)在mybatis-config.xml文件中指定XxxxMapper.xml文件的路径 !--执行XxxxMapper.xml文件的路径-- !--resource属性会自动从类的根路径下开始查找资源-- mapper resourceCarMapper.xml/8编写MyBatis程序。 (9)mybatis的事务管理 * 在mybatis-config.xml文件中可以通过以下的配置进行mybatis的事务管理transactionManager typeJDBC/ * type属性的值包括两个JDBC(jdbc)MANAGED(managed)type后面的值只有以上两个值可选不区分大小写。 * 在mybatis中提供了两种事务管理机制第一种JDBC事务管理器第二种MANAGED事务管理器 * JDBC事务管理器mybatis框架自己管理事务自己采用原生的JDBC代码去管理事务conn.setAutoCommit(false); 开启事务。....业务处理...conn.commit(); 手动提交事务使用JDBC事务管理器的话底层创建的事务管理器对象JdbcTransaction对象。如果你编写的代码是下面的代码SqlSession sqlSession sqlSessionFactory.openSession(true);表示没有开启事务。因为这种方式压根不会执行conn.setAutoCommit(false);在JDBC事务中没有执行conn.setAutoCommit(false);那么autoCommit就是true。如果autoCommit是true就表示没有开启事务。只要执行任意一条DML语句就提交一次。* MANAGED事务管理器mybatis不再负责事务的管理了。事务管理交给其它容器来负责。例如spring。我不管事务了你来负责吧。对于我们当前的单纯的只有mybatis的情况下如果配置为MANAGED那么事务这块是没人管的。没有人管理事务表示事务压根没有开启。没有人管理事务就是没有事务。* JDBC中的事务如果你没有在JDBC代码中执行conn.setAutoCommit(false);的话默认的autoCommit是true。* 重点以后注意了只要你的autoCommit是true就表示没有开启事务。只有你的autoCommit是false的时候就表示开启了事务。(10)小结 MyBatisIntroductionTest.java package com.sdnu.mybatis.test;import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.FileInputStream; import java.io.InputStream;public class MyBatisIntroductionTest {public static void main(String[] args) throws Exception{//获取SqlSessionFactoryBuilder对象SqlSessionFactoryBuilder sqlSessionFactoryBuilder new SqlSessionFactoryBuilder();//获取SqlSessionFactory对象//Resources.getResourceAsStream默认就是从类的根路径下开始查找资源//一般情况下一个数据库对应一个SqlSessionFactory对象InputStream is Resources.getResourceAsStream(mybatis-config.xml);SqlSessionFactory sqlSessionFactory sqlSessionFactoryBuilder.build(is);//获取SqlSession对象SqlSession sqlSession sqlSessionFactory.openSession();//执行SQL语句// 返回值是影响数据库表中的记录条数int count sqlSession.insert(insertCar);System.out.println(插入了几条记录? count);//手动提交sqlSession.commit();} }mybatis-config.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configurationenvironments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/sdnu/property nameusername valueroot/property namepassword valueroot//dataSource/environment/environmentsmappers!--执行XxxxMapper.xml文件的路径--!--resource属性会自动从类的根路径下开始查找资源--mapper resourceCarMapper.xml//mappers /configurationCarMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacesdkskkdkdinsert idinsertCarinsert into t_car(id, car_num, brand, guide_price, produce_time, car_type)values (null, 1003, 丰田霸道, 30.00, 2000-10-11, 燃油车)/insert /mapper3.3 一个比较完整规格的mybatis程序 package com.sdnu.mybatis.test;import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;/*** 采用正规的方式写Mybatis*/ public class MyBatisCompleteTest {public static void main(String[] args) {SqlSession sqlSession null;try {SqlSessionFactoryBuilder sqlSessionFactoryBuilder new SqlSessionFactoryBuilder();SqlSessionFactory sqlSessionFactory sqlSessionFactoryBuilder.build(Resources.getResourceAsStream(mybatis-config.xml));//开启会话底层开启事务sqlSession sqlSessionFactory.openSession();//执行sql语句处理相关业务int count sqlSession.insert(insertCar);System.out.println(count);//执行到这里没有发送异常提交事务sqlSession.commit();} catch (Exception e) {if(sqlSession ! null){sqlSession.rollback();}e.printStackTrace();} finally {if(sqlSession ! null){sqlSession.close();}}} }3.4 测试案例 junit 加入junit依赖 dependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.13.2/versionscopetest/scope/dependency/dependencies要测试的类 package com.sdnu.junit.service;public class MathService {public int sum(int a, int b){return a b;}public int sub(int a, int b){return a - b;} }测试方法 package com.sdnu.junit.service;import org.junit.Assert; import org.junit.Test;public class MathServiceTest {Testpublic void sum(){//单元测试有两个重要的方法//一个是实际值被测试方法真正执行的结果一个是期望值期望得到的结果MathService mathService new MathService();//实际值int actual mathService.sum(1, 2);//期望值int expected 33;//加断言测试结果Assert.assertEquals(expected, actual);}Testpublic void sub(){MathService mathService new MathService();int actual mathService.sub(10, 5);int expected 5;Assert.assertEquals(expected, actual);} }3.5 对第一个mybatis使用junit测试 添加依赖 dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.13.2/versionscopetest/scope/dependency测试程序 package com.sdnu.mybatis.test;import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test;public class CarMapperTest {Testpublic void testInsertCar(){SqlSession sqlSession null;try {SqlSessionFactoryBuilder sqlSessionFactoryBuilder new SqlSessionFactoryBuilder();SqlSessionFactory sqlSessionFactory sqlSessionFactoryBuilder.build(Resources.getResourceAsStream(mybatis-config.xml));//开启会话底层开启事务sqlSession sqlSessionFactory.openSession();//执行sql语句处理相关业务int count sqlSession.insert(insertCar);System.out.println(count);//执行到这里没有发送异常提交事务sqlSession.commit();} catch (Exception e) {if(sqlSession ! null){sqlSession.rollback();}e.printStackTrace();} finally {if(sqlSession ! null){sqlSession.close();}}} }3.6 集成日志框架logback logback日志框架实现了slf4j标准。(沙拉风日志门面。日志标准。)第一步引入logback的依赖。dependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.2.11/version/dependency第二步引入logback所必须的xml配置文件。这个配置文件的名字必须叫做logback.xml或者logback-test.xml不能是其它的名字。这个配置文件必须放到类的根路径下。不能是其他位置。主要配置日志输出相关的级别以及日志具体的格式。3.7mybatis工具类编写 SqlSessionUtil.java package com.sdnu.mybatis.utils;import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;/*** mybatis工具类*/ public class SqlSessionUtil {//工具类的构造方法一般是是私有化的//工具类的一般方法一般是静态方法private static SqlSessionFactory sqlSessionFactory;private SqlSessionUtil(){}static {try {sqlSessionFactory new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream(mybatis-config.xml));} catch (IOException e) {throw new RuntimeException(e);}}public static SqlSession openSession(){return sqlSessionFactory.openSession();} }测试 Testpublic void testInsertCarByUtil(){SqlSession sqlSession SqlSessionUtil.openSession();int count sqlSession.insert(insertCar);System.out.println(count);sqlSession.commit();sqlSession.close();}
http://www.tj-hxxt.cn/news/233772.html

相关文章:

  • 网站技术解决方案wordpress国外主题破解
  • 广元市建设局网站工作英语
  • 私人设计网站推荐h5页面制作软件thinkphp
  • 如何选取网站关键词科技画4k纸科幻画一等奖
  • 关于集团网站建设的修改请示首码项目推广平台
  • wordpress编辑网站嵌入式软件开发专业
  • 东莞做网站那家好南昌网站建设制作与维护
  • 微信网页制作网站建设京网站建设
  • 搜狐快站怎么样温州自助模板建站
  • 济南网站建设搜q.479185700泰安网上申请货车通行证
  • 贵阳网站建设hsyunso网络推广大概需要多少钱
  • 自己做的网站本地调试骨科医生咨询在线咨询免费
  • 代备案网站空间移动端网站开发与网页开发区别
  • 博兴做网站郑州关键词排名公司电话
  • 网站什么情况要更新wordpress5.0.1
  • 青岛网站建设价格网站建设方案前言
  • 成都鲜花网站建设小程序商城免费
  • 景县有专业做网站人员吗服务器怎么发布网站
  • 建设公司董事长致辞网站范文网站排名怎么提升
  • 江苏 网站集约化建设方案网络营销专业课程
  • 创建电子商务网站的步骤临沂哪里有做网站的
  • 南昌门户网站建设看广告挣钱一天300元
  • 如何运营一个行业网站网站建设公司没落
  • 做ppt模板的网站网站为契机建设校园数字化
  • 塘沽建设网站公司女生读电子商务好就业吗
  • 开店加盟北京网站优化公司 卓立海创
  • 个人网站备案描述招商加盟类网站模板
  • 如何快速提升网站关键词排名企业管理考研
  • 网站建设要什么证件免费公司网页制作
  • 建筑行业人才网aso优化技巧大aso技巧