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

手机做网站视频微信软文广告经典案例

手机做网站视频,微信软文广告经典案例,更多标签的下载方法,可做推广的网站目录 一、ORM框架 二、MyBatis与Hibernate 1、 概念与设计理念 2、SQL 控制 3、学习成本 4、开发效率 三、MyBatisAPI 1、SqlSessionFactoryBuilder 2、SqlSessionFactory 3、SqlSession 四、MyBatis配置 1、核心依赖与日志依赖 2、建立.XML映射文件 3、建立映射…

目录

一、ORM框架 

二、MyBatis与Hibernate

1、 概念与设计理念

2、SQL 控制

3、学习成本

4、开发效率

三、MyBatisAPI 

1、SqlSessionFactoryBuilder

2、SqlSessionFactory

3、SqlSession

四、MyBatis配置

1、核心依赖与日志依赖

2、建立.XML映射文件

3、建立映射接口文件

4、数据源特性文件

5、框架配置文件

6、封装MyBatisUtil


一、ORM框架 

我们先来了解以下什么时ORM,下图就是一个很直观的展示了ORM之间的关系。 

         ORM框架就是对JDBC进行封装的持久层框架,在实体类对象(POJO对象)与SQL之间通过配置映射文件建立映射关系,将SQL所需的参数及返回的结果字段映射到相应的实体类中。

二、MyBatis与Hibernate

        MyBatis的官方文档:MyBatis中文网

        MyBatis和Hiberbate都是非常流行的ORM框架,前者对JDBC提供了较为完整的封装,后者主要是对实体类对象与SQL之间的映射关系。

1、 概念与设计理念

        MyBatis:作为半自动化的持久化框架,MyBatis 需要开发者手动编写 SQL 语句,对 SQL 有很强的控制能力,更适合对 SQL 性能有较高要求、数据库表结构复杂多变的项目。

        Hibernate:属于全自动化的持久化框架,通过对象关系映射(ORM)技术,开发者无需编写 SQL,只需操作对象即可完成数据库操作,能提高开发效率,适用于快速开发和数据库表结构相对稳定的项目。

2、SQL 控制

        MyBatis:支持开发者编写自定义的 SQL 语句,因此可以对 SQL 进行精细优化,能够处理复杂的查询和业务逻辑。

        Hibernate:自动生成 SQL 语句,虽然方便快捷,但对于复杂的查询,自动生成的 SQL 可能不够优化,而且难以进行深度的定制。

3、学习成本

        MyBatis:由于需要手动编写 SQL,开发者需要具备一定的 SQL 基础和数据库知识,学习成本相对较高。

        Hibernate:无需编写 SQL,只需掌握 ORM 的基本概念和框架的使用方法,学习成本相对较低。

4、开发效率

        MyBatis:手动编写 SQL 会增加开发时间和工作量,尤其是在处理大量的增删改查操作时,但对于复杂业务逻辑,能更灵活地满足需求。

        Hibernate:自动生成 SQL,减少了开发工作量,提高了开发效率,尤其适合快速迭代的项目

三、MyBatisAPI 

1、SqlSessionFactoryBuilder

        此 API 用于构建SqlSessionFactory实例。它能从不同来源(如 XML 配置文件、Java 代码)读取配置信息,进而创建SqlSessionFactory。通常在应用启动时使用一次,创建出的SqlSessionFactory会被复用。

2、SqlSessionFactory

        这是 MyBatis 的核心对象之一,是线程安全的。其作用是创建SqlSession实例,在整个应用中一般只需一个SqlSessionFactory实例。

3、SqlSession

        代表与数据库的一次会话,是非线程安全的,要在一次请求中使用并及时关闭。它提供了执行 SQL 语句、管理事务等功能,包含selectOneselectListinsertupdatedeletecommitrollback等常用方法。

注:在使用SqlSession的方法insert()/delete()/update()时,必须使用事务提交方法commit()。

四、MyBatis配置

实例项目结构

mybatis-demo
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           ├── entity
│   │   │           │   └── User.java
│   │   │           ├── mapper
│   │   │           │   └── UserMapper.java
│   │   │           ├── util
│   │   │           │   └── MyBatisUtil.java
│   │   │           └── Main.java
│   │   └── resources
│   │       ├── db.properties
│   │       ├── mybatis-config.xml
│   │       └── com
│   │           └── example
│   │               └── mapper
│   │                   └── UserMapper.xml
└── pom.xml

1、核心依赖与日志依赖

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>mybatis-project</artifactId><version>1.0-SNAPSHOT</version><dependencies><!-- MyBatis 核心依赖 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version></dependency><!-- MySQL 数据库驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><!-- SLF4J 和 Logback 日志依赖 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.2</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>

2、建立.XML映射文件

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper"><!-- 根据 ID 查询用户 --><select id="getUserById" parameterType="int" resultType="com.example.entity.User">SELECT * FROM users WHERE id = #{id}</select><!-- 查询所有用户 --><select id="getAllUsers" resultType="com.example.entity.User">SELECT * FROM users</select><!-- 插入用户 --><insert id="insertUser" parameterType="com.example.entity.User">INSERT INTO users (name, age) VALUES (#{name}, #{age})</insert><!-- 更新用户 --><update id="updateUser" parameterType="com.example.entity.User">UPDATE users SET name = #{name}, age = #{age} WHERE id = #{id}</update><!-- 删除用户 --><delete id="deleteUser" parameterType="int">DELETE FROM users WHERE id = #{id}</delete></mapper> 

3、建立映射接口文件

UserMapper.java

package com.example;import java.util.List;// 此接口对应 XML 映射文件中的 SQL 操作
public interface UserMapper {/*** 查询所有用户* @return 用户列表*/List<User> getAllUsers();/*** 根据 ID 查询用户* @param id 用户 ID* @return 用户对象*/User getUserById(int id);/*** 插入用户* @param user 用户对象*/void insertUser(User user);/*** 更新用户信息* @param user 用户对象*/void updateUser(User user);/*** 根据 ID 删除用户* @param id 用户 ID*/void deleteUser(int id);
}    

4、数据源特性文件

db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/DBname?characterEncoding=UTF-8
jdbc.username=root // 根据数据库实际用户名更改
jdbc.password=123456 // 根据数据库实际密码更改

可能这里和书上不一样,这里加了jdbc.*但书上没有,这个具体呢要看你的properties中怎么读取的,如果如下图一样就要加

那什么时候不要加呢,如下图

5、框架配置文件

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 引入数据源特性文件 --><properties resource="db.properties"/><!-- 环境配置 --><environments default="development"><environment id="development"><!-- 事务管理器类型 --><transactionManager type="JDBC"/><!-- 数据源类型 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource></environment></environments><!-- 映射器配置 --><mappers><!-- 引入映射文件 --><mapper resource="UserMapper.xml"/></mappers>
</configuration>    

6、封装MyBatisUtil

MyBatisUtil.java

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;public class MyBatisUtil {// 定义静态的 SqlSessionFactory 对象private static SqlSessionFactory sqlSessionFactory;// 静态代码块,在类加载时执行,用于初始化 SqlSessionFactorystatic {try {// 加载 MyBatis 配置文件String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);// 创建 SqlSessionFactorysqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}/*** 获取 SqlSession 对象* @return SqlSession 对象*/public static SqlSession getSqlSession() {// 从 SqlSessionFactory 中获取 SqlSession 对象return sqlSessionFactory.openSession();}public static void closeSqlSession(SqlSession session){if(session!=null){session.close();}}
}    

http://www.dtcms.com/wzjs/315828.html

相关文章:

  • 大连做网站仟亿科技新型实体企业100强
  • 页网站设计上海搜索引擎推广公司
  • 做门户网站的意义在哪网络营销业务流程
  • 设计的商城网站建设seo搜索引擎优化工程师招聘
  • 阿里云 全国网站建设优化设计电子版在哪找
  • 浙江省建设信息港网站搜索引擎seo关键词优化效果
  • 郑州一凡网站建设做网站用什么软件
  • 在自己的网站做外链北京seo优化多少钱
  • 免费企业黄页网站网址超级优化
  • 携程网站建设的基本特点百度推广没有一点效果
  • 自己做优惠劵网站杭州互联网公司排名榜
  • 南京计算机培训机构哪个最好长沙seo管理
  • 优惠券的网站制作seo工资服务
  • 石家庄医院网站建设北京seo收费
  • 电商网站如何提高转化率微信小程序开发文档
  • 汕头站扩建进展宣传推广方案范文
  • 天津网站建设推广个人网页模板
  • 做兼职什么网站靠谱小广告清理
  • 怎么做室内设计公司网站佛山市seo推广联系方式
  • 龙岩网站建设亿网行百度之家
  • 济南优化网站厂家友情链接检测
  • 徐州市网站互联网项目推广平台有哪些
  • 网站收藏以后怎样做桌面快捷键关键词优化公司靠谱推荐
  • 郑州网站优化公司排名苏州seo网站管理
  • 在线上传图片生成链接seo的主要工作是什么
  • 临沂网站开发公司电话个人怎么创建网站
  • wordpress网址设置移动端关键词优化
  • 精选赣州网站建设长沙网站seo外包
  • pc网站开发工具人工智能培训机构排名
  • 网站后台流程图百度推广如何计费