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

营销网站建站公司推广策略组合

营销网站建站公司,推广策略组合,推荐友情链接,深圳网页设计公司排行mybatis 1、mybatis的作用 2、封装JDBC 3、mybatis基于XML配置 4、Mapper代理开发 1、mybatis的作用 1、再MVC三层模式中mybatis作用于DAO层。 2、进行与数据库连接。 3、事务管理#xff1a;支持数据操作进行手动或自动事务管理#xff0c;确保数据 提交的一致性和可…mybatis 1、mybatis的作用 2、封装JDBC 3、mybatis基于XML配置 4、Mapper代理开发 1、mybatis的作用 1、再MVC三层模式中mybatis作用于DAO层。 2、进行与数据库连接。 3、事务管理支持数据操作进行手动或自动事务管理确保数据 提交的一致性和可靠性。 4、通过SQL语句执行对数据库的CRUD操作提供数据持久化。 2、封装JDBC MyBatis相较于JDBC简化了以下开发: 1.数据库连接管理使用JDBC进行数据库操作时需要手动获取数据库连接、释放数据库连接等操作在高并发的情况下还需要面对连接池的问题。而在MyBatis中数据源DataSource等连接管理工作都被封装好了用户只需要关注执行SQL语句即可。 2.预处理和执行SQL语句在JDBC中需要通过Statement对象或PreparedStatement对象来进行预处理和执行SQL语句。MyBatis将执行SQL语句的相关操作都封装成接口方法用户通过Mapper文件或注解来配置对应的SQL语句消除了样板式代码使得代码更加简洁易懂。 3.处理结果集在JDBC中需要使用ResultSet对象来处理查询结果集通过访问ResultSet对象的列名或是序号来获取结果。而在MyBatis中支持将查询结果自动封装为Java属性对象列表或者Map映射可以避免重复的属性名称声明以及类型不匹配的异常。 4.事务管理JDBC需要通过Spring框架或编写大量的代码来进行事务管理。而MyBatis提供了默认的SqlSession事务模式、支持Spring事务以及托管给全局事务管理器三种事务管理方式并且对事务Rollback、Commit进行了封装简化了事务处理流程。 MyBatis采用了不同的架构和设计理念封装了JDBC底层操作并提供了更方便、高效的CRUD编程接口以及自动参数映射和结果集处理大大简化了数据库开发。 3、mybatis基于XML配置 1、创建Maven项目 2、在maven项目中下载mybatis和mysql的依赖 pom.xmldependenciesdependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.7/version/dependency!-- MySQL Connector --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.46/version/dependency/dependencies3、创建mybatis核心配置文件在src\main\resources下创建mybatis-config.xml文件 src\main\resources\mybatis-config.xml?xml version1.0 encodingUTF-8? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtdconfiguration!-- 数据库连接相关 --environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/!-- 配置数据源注意这里要配置自己的数据库驱动和连接参数 --dataSource typePOOLEDproperty namedriver valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/mybatis?useUnicodetrueamp;characterEncodingutf-8amp;useSSLfalseamp;serverTimezoneGMT%2B8/property nameusername valueroot/property namepassword value123456//dataSource/environment/environments!-- 映射器 --mappers!-- 引入映射文件如果有多个文件则在此处添加 --mapper resourceUserMapper.xml//mappers/configuration 注意在这些代码中修改自己的mysql配置 transactionManager typeJDBC/!-- 配置数据源注意这里要配置自己的数据库驱动和连接参数 --dataSource typePOOLEDproperty namedriver valuecom.mysql.cj.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/exampleDB?useUnicodetrueamp;characterEncodingutf-8amp;useSSLfalseamp;serverTimezoneGMT%2B8/property nameusername valueroot/property namepassword value123456/ 4、创建UserMapper.xml文件 src\main\resources\UserMapper.xml?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd!-- 定义命名空间 -- mapper namespaceUserMapper!-- 定义查询所有用户的 SQL 语句--select idfindAllUsers resultTypesrc.main.com.example.DAO.UserSELECT * FROM tb_user;/select!-- 定义根据用户 ID 查询用户的 SQL 语句--select idfindUserById parameterTypeint resultTypesrc.main.com.example.DAO.UserSELECT * FROM tb_user WHERE id #{id};/select!-- 定义新增用户的 SQL 语句--insert idaddUser parameterTypesrc.main.com.example.DAO.UserINSERT INTO tb_user(username, password) VALUES (#{username}, #{password});/insert!-- 定义根据用户 ID 删除用户的 SQL 语句--delete iddeleteUserById parameterTypeintDELETE FROM tb_user WHERE id #{id};/delete!-- 定义根据用户 ID 更新用户密码的 SQL 语句--update idupdatePasswordById parameterTypemapUPDATE tb_user SET password #{newPassword} WHERE id #{userId};/update/mapper 5、创建数据库的实体类实体类要根据我们创建的mysql数据库相对应 实体类中的每一个属性都有一个mysql属性与之相对应   src\main\java\com\example\pojo\User.java package src.main.com.example.pojo;public class User {private Integer id;private String username;private int password;private String gender;private String addr;public User() {}public User(int id, String username, int password, String gender, String addr) {this.id id;this.username username;this.password password;this.gender gender;this.addr addr;}public int getId() {return id;}public void setId(int id) {this.id id;}public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public int getPassword() {return password;}public void setPassword(int password) {this.password password;}public String getGender() {return gender;}public void setGender(String gender) {this.gender gender;}public String getAddr() {return addr;}public void setAddr(String addr) {this.addr addr;}Overridepublic String toString() {return User{ id id , username username \ , password password , gender gender \ , addr addr \ };} } 6、创建测试类 src\main\java\com\example\text\Text.javapackage src.main.com.example.text;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; import java.io.InputStream; import java.util.List;public class Text{public static void main(String[] args) throws IOException {// 加载核心配置文件路径String resource mybatis-config.xml;//通过SqlesSsionFactor实例化SqlSessionFactor//然后通过SqlSessionFactor的openSqlSession()方法获取SqlSession对象InputStream inputStream Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession sqlSessionFactory.openSession();//使用SqlSession来执行SQL语句ListUser user sqlSession.selectList(UserMapper.findAllUsers);System.out.println(user);sqlSession.close();} } 4、Mapper代理开发 mapper代理开发让我们在调用sql语句时会更加方便 我们在原来的配置上进行如下修改 1、创建一个与映射文件UserMapper.xml同名的接口文件 2、接口文件中定义方法方法名与映射文件中的id一致返回 类型也要和resultType一致 3、注意返回是一个对象还是多个对象多个对象要用list集合接收 下面我们创建与映射文件同名的接口并且定义方法 src/main/com/example/mapper/UserMapperackage src.main.com.example.mapper;public interface UserMapper {listUser findAllUsers();User findUserById();User addUser();User deleteUserById();User updatePasswordById();}2、第二步要将我们的映射文件UserMapper.xml与接口文件(UserMapper)放在同一个包中 1、方法一直接将映射文件拖入mapper包下 2、方法二为了统一管理我们直接在reserces下创建一个 com/example/mapper再将映射文件拖入该文件下可以达到同样的效果 3、修改映射文件的namespace以前这个值是可以谁便取得但现在要将它改为接口文件的路径 在UserMapper.xml中修改namespace?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd!-- 定义命名空间 -- mapper namespacesrc/main/com/example/mapper!-- 定义查询所有用户的 SQL 语句--select idfindAllUsers resultTypesrc.main.com.example.DAO.UserSELECT * FROM tb_user;/select!-- 定义根据用户 ID 查询用户的 SQL 语句--select idfindUserById parameterTypeint resultTypesrc.main.com.example.DAO.UserSELECT * FROM tb_user WHERE id #{id};/select!-- 定义新增用户的 SQL 语句--insert idaddUser parameterTypesrc.main.com.example.DAO.UserINSERT INTO tb_user(username, password) VALUES (#{username}, #{password});/insert!-- 定义根据用户 ID 删除用户的 SQL 语句--delete iddeleteUserById parameterTypeintDELETE FROM tb_user WHERE id #{id};/delete!-- 定义根据用户 ID 更新用户密码的 SQL 语句--update idupdatePasswordById parameterTypemapUPDATE tb_user SET password #{newPassword} WHERE id #{userId};/update/mapper4、由于映射文路径置改了我们的配置文件要引入映射文件 也要修改为相同路径 修改mybatis-config.xml中的mapper resorces?xml version1.0 encodingUTF-8? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtdconfiguration!-- 数据库连接相关 --environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/!-- 配置数据源注意这里要配置自己的数据库驱动和连接参数 --dataSource typePOOLEDproperty namedriver valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/mybatis?useUnicodetrueamp;characterEncodingutf-8amp;useSSLfalseamp;serverTimezoneGMT%2B8/property nameusername valueroot/property namepassword value123456//dataSource/environment/environments!-- 映射器 --mappers!-- 引入映射文件如果有多个文件则在此处添加 --mapper resourcesrc/main/com/example/mapper/UserMapper.xml//mappers/configuration5、测试时我们不在使用sqlSessioj的方法而是使用sqlSession.getMapper() 获取UserMapper接口代理对象在调用接口中的方法 src/main/java/com/example/text/Text.javaimport java.io.IOException; import java.io.InputStream; import java.util.List;public class Text{public static void main(String[] args) throws IOException {// 加载核心配置文件路径String resource mybatis-config.xml;//通过SqlesSsionFactor实例化SqlSessionFactor//然后通过SqlSessionFactor的openSqlSession()方法获取SqlSession对象InputStream inputStream Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession sqlSessionFactory.openSession();//使用SqlSession.getMapper()来获取UserMapper接口对象UserMapper mappersqlSession.getMapper(UserMapper.class);//调用接口方法ListUser user mapper.findAllUsers();System.out.println(user);sqlSession.close();} }
http://www.w-s-a.com/news/895466/

相关文章:

  • 图片渐隐 网站头部flash地方志网站建设自查报告
  • 深圳做商城网站视觉品牌网站建设
  • 永康电子商务网站建设弹幕网站怎么做
  • 百川网站企业做网站要注意哪些
  • 球迷类的网站如何做网站建设需要哪些素材
  • 请问有重庆有做网站吗电子政务系统网站建设的基本过程
  • 建设银行管方网站官网最新版cmsv6
  • 网站开发工程师需要会写什么深圳网站(建设信科网络)
  • 台州网站搭建网站建设需求计划
  • 网站app免费下载软件大全大连百度推广哪家好
  • 网站建设的面试要求iis做的网站手机怎么访问
  • 定州市住房保障和城乡建设局网站上海网站建设排行
  • 网站发帖百度收录网站改版后不收录
  • 昆明建设局网站号码网站开发 浏览器兼容性
  • 湖北专业网站建设大全室内设计联盟app下载
  • 网站建设的意义和作用江苏城市建设档案馆网站
  • 华为云速建站贴心的广州网站建设
  • 网页网站开发公司天津seo推广
  • 网站线框图用什么做共享门店新增礼品卡兑换模式
  • 互联网建站是什么seo服务公司上海
  • 象山县城乡建设局网站做网站客户要求分期
  • 什么是网络营销型网站手机网站 图标
  • 全国新农村建设网站外包和劳务派遣哪个好
  • 网站权限控制什么软件做网站描述
  • 建网络商城网站wordpress关于
  • 专业网站建设分类标准重庆网站开发哪家专业
  • 织梦的网站关键词如何自己搭建微信小程序
  • 怎么做基金公司网站韩都衣舍网站建设ppt
  • 外贸网站模板aspnet网站开发 视频
  • 上海植物租赁做网站南浔网站建设