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

车陂手机网站建设电话怀化网站seo

车陂手机网站建设电话,怀化网站seo,net网站是国际域名吗,国际物流网站建设MyBatis入门 一:故事背景二:MyBatis 简介2.1什么是MyBatis2.1 MyBatis有什么好处 三:MyBatis 入门3.1使用SpringBoot集成MyBatis3.1.1 添加依赖3.1.2 配置数据源3.1.3 配置MyBatis3.1.4 创建Mapper接口和SQL映射文件3.1.5 注入Mapper接口 3.2…

MyBatis入门

  • 一:故事背景
  • 二:MyBatis 简介
    • 2.1什么是MyBatis
    • 2.1 MyBatis有什么好处
  • 三:MyBatis 入门
    • 3.1使用SpringBoot集成MyBatis
      • 3.1.1 添加依赖
      • 3.1.2 配置数据源
      • 3.1.3 配置MyBatis
      • 3.1.4 创建Mapper接口和SQL映射文件
      • 3.1.5 注入Mapper接口
    • 3.2 普通maven项目集成
      • 3.2.1 添加依赖
      • 3.2.2 配置数据源
      • 3.2.3 配置 MyBatis
      • 3.2.4 创建 Mapper 接口和 SQL 映射文件
      • 3.2.5 注入 Mapper 接口
      • 3.3.6 具体使用
  • 四:总结&升华

一:故事背景

在项目里已经应用了很久的MyBatis,但是没有系统的总结过MyBatis的相关知识。于是在一个寻常的下午,我决定,出一个系列的MyBatis知识博客。该系列博客主要分为分为以下四部分,每部分文章数量将会根据知识点的数量进行不同划分。

  1. MyBatis入门
  2. MyBatis配置
  3. MyBatisXML映射器
  4. 动态SQL

本系列文章预计在三周内更新完成,有兴趣的朋友可以持续关注。

二:MyBatis 简介

2.1什么是MyBatis

  • MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。
  • MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
  • MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

2.1 MyBatis有什么好处

既然要学习这个框架,就一定要知道这个框架的好处,它能给我们带来什么!

  • 简化数据库编程:MyBatis 通过提供简单的 API 和 SQL 映射文件,可以大大简化数据库编程。
  • 提高数据库性能:MyBatis支持使用缓存和预编译语句等技术来提高数据库性能。
  • 可以灵活地使用 SQL:MyBatis 可以直接使用 SQL语句,因此可以更灵活地处理复杂的查询需求。
  • 易于集成:MyBatis 可以与 Spring、Spring Boot、Spring MVC等常见的 Java 框架集成,使得开发更加便捷。
  • 易于维护:MyBatis提供了完善的日志和错误处理机制,方便开发人员进行调试和维护。同时,MyBatis 的 SQL
    映射文件可以被独立出来,使得维护和修改更加方便。

三:MyBatis 入门

上文已经讲述了什么是MyBatis,并且讲述了MyBatis的优势,接下来就让我们分别以springBoot项目和普通maven项目为例,来一起配置我们的项目,用上这个框架吧。

3.1使用SpringBoot集成MyBatis

3.1.1 添加依赖

在 pom.xml 文件中添加 MyBatis 对应的依赖

<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis-spring-boot-starter.version}</version>
</dependency>

3.1.2 配置数据源

在 application.properties 或 application.yml 文件中配置数据源相关的信息。

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

3.1.3 配置MyBatis

在 application.properties 或 application.yml 文件中添加 MyBatis 相关的配置项。

mybatis.mapper-locations=classpath:mapper/*.xml

这里配置的是对应的映射

3.1.4 创建Mapper接口和SQL映射文件

在 src/main/resources/mapper 目录下创建 Mapper 接口和 SQL 映射文件。例如:

public interface UserMapper {@Select("SELECT * FROM user WHERE id = #{id}")User findById(Long id);
}

编写对应的XML文件,用来执行sql语句

<mapper namespace="com.example.mapper.UserMapper"><select id="findById" resultType="com.example.entity.User">SELECT * FROM user WHERE id = #{id}</select>
</mapper>

3.1.5 注入Mapper接口

在需要使用Mapper的地方进行注入即可使用

@Service
public class UserService {@Autowiredprivate UserMapper userMapper;public User findById(Long id) {return userMapper.findById(id);}
}

3.2 普通maven项目集成

3.2.1 添加依赖

添加依赖
在 pom.xml 文件中添加 MyBatis 和 JDBC 驱动程序的依赖。这里以 MySQL 数据库为例:

<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version>
</dependency>
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version>
</dependency>

3.2.2 配置数据源

在代码中配置数据源相关的信息,例如使用 DriverManager 类获取数据库连接。这里假设使用 MySQL 数据库。

String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "root";Connection connection = null;try {Class.forName(driver);connection = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {e.printStackTrace();
} catch (SQLException e) {e.printStackTrace();
}

3.2.3 配置 MyBatis

创建 MyBatis 的 SqlSessionFactory 对象,将其配置信息和数据源传递给它。

String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

对应的 mybatis-config.xml 文件

<configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/test"/><property name="username" value="root"/><property name="password" value="root"/></dataSource></environment></environments><mappers><mapper resource="com/example/mapper/UserMapper.xml"/></mappers>
</configuration>

3.2.4 创建 Mapper 接口和 SQL 映射文件

在 src/main/resources/com/example/mapper 目录下创建 Mapper 接口和 SQL 映射文件。例如:

public interface UserMapper {@Select("SELECT * FROM user WHERE id = #{id}")User findById(Long id);
}

SQL 映射文件

<mapper namespace="com.example.mapper.UserMapper"><select id="findById" resultType="com.example.entity.User">SELECT * FROM user WHERE id = #{id}</select>
</mapper>

3.2.5 注入 Mapper 接口

在需要使用 Mapper 接口的地方注入它。可以使用 MyBatis 提供的 MapperFactoryBean 类来创建 Mapper 接口的实例。

@Configuration
public class AppConfig {@Beanpublic DataSource dataSource() {// 配置数据源}@Beanpublic SqlSessionFactory sqlSessionFactory() throws Exception {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream, "development");return sqlSessionFactory;}@Beanpublic MapperFactoryBean<UserMapper> userMapper() throws Exception {MapperFactoryBean<UserMapper> factoryBean = new MapperFactoryBean<>(UserMapper.class);        factoryBean.setSqlSessionFactory(sqlSessionFactory());return factoryBean;}
}

3.3.6 具体使用

在使用 Mapper 接口的地方注入它并使用即可。例如:

@Service
public class UserServiceImpl implements UserService {@Autowiredprivate UserMapper userMapper;@Overridepublic User findById(Long id) {return userMapper.findById(id);}
}

四:总结&升华

上文给出了如何使用普通的maven项目或者使用Springboot项目来进行MyBatis的使用。大家可以先按照上文所述,准备好对应的例子。以便之后的学习。


文章转载自:
http://dinncounsavory.bkqw.cn
http://dinncocastnet.bkqw.cn
http://dinnconativist.bkqw.cn
http://dinncorenardite.bkqw.cn
http://dinnconeutrosphere.bkqw.cn
http://dinncoisolette.bkqw.cn
http://dinncoundamped.bkqw.cn
http://dinncohaligonian.bkqw.cn
http://dinncodistinguish.bkqw.cn
http://dinncosigmoiditis.bkqw.cn
http://dinncoolympia.bkqw.cn
http://dinncoexpansile.bkqw.cn
http://dinncoteleutospore.bkqw.cn
http://dinncoautomatization.bkqw.cn
http://dinncoturnplate.bkqw.cn
http://dinncosuperliner.bkqw.cn
http://dinncoclairvoyant.bkqw.cn
http://dinncohonduranean.bkqw.cn
http://dinncocavalla.bkqw.cn
http://dinncodecrepitude.bkqw.cn
http://dinncomotorman.bkqw.cn
http://dinncogondoletta.bkqw.cn
http://dinncounity.bkqw.cn
http://dinncoformality.bkqw.cn
http://dinncophotorecce.bkqw.cn
http://dinncododgem.bkqw.cn
http://dinncohilltop.bkqw.cn
http://dinncoprecipe.bkqw.cn
http://dinncojailor.bkqw.cn
http://dinncostyx.bkqw.cn
http://dinncohandline.bkqw.cn
http://dinncocausalgic.bkqw.cn
http://dinncoscrupulous.bkqw.cn
http://dinncomacrolide.bkqw.cn
http://dinncoabsolutism.bkqw.cn
http://dinncounbolt.bkqw.cn
http://dinncodesorption.bkqw.cn
http://dinncocupboard.bkqw.cn
http://dinncoerp.bkqw.cn
http://dinncoduumvirate.bkqw.cn
http://dinncodemoniacally.bkqw.cn
http://dinncouptear.bkqw.cn
http://dinncoobwalden.bkqw.cn
http://dinncocadastration.bkqw.cn
http://dinncoweltschmerz.bkqw.cn
http://dinncoere.bkqw.cn
http://dinncoisv.bkqw.cn
http://dinncoheadman.bkqw.cn
http://dinncocairngorm.bkqw.cn
http://dinncoboast.bkqw.cn
http://dinncothermidor.bkqw.cn
http://dinncodilution.bkqw.cn
http://dinncodietary.bkqw.cn
http://dinncorattleroot.bkqw.cn
http://dinnconeutron.bkqw.cn
http://dinncowelsbach.bkqw.cn
http://dinncophilharmonic.bkqw.cn
http://dinncoscrofula.bkqw.cn
http://dinncocomplainant.bkqw.cn
http://dinncobrill.bkqw.cn
http://dinncoskullcap.bkqw.cn
http://dinncoendearment.bkqw.cn
http://dinncofifteenfold.bkqw.cn
http://dinncoisospin.bkqw.cn
http://dinncooutbid.bkqw.cn
http://dinncodelible.bkqw.cn
http://dinncofasciolar.bkqw.cn
http://dinncomortice.bkqw.cn
http://dinncomucopolysaccharide.bkqw.cn
http://dinncolepidopteran.bkqw.cn
http://dinncococky.bkqw.cn
http://dinncorubricate.bkqw.cn
http://dinncoclapt.bkqw.cn
http://dinncomesocephalon.bkqw.cn
http://dinncohypercapnia.bkqw.cn
http://dinncoduologue.bkqw.cn
http://dinncomanitou.bkqw.cn
http://dinncocontinuously.bkqw.cn
http://dinncosenti.bkqw.cn
http://dinncoquadrireme.bkqw.cn
http://dinncosubstantialist.bkqw.cn
http://dinncorondelet.bkqw.cn
http://dinncobreadthwise.bkqw.cn
http://dinncorecipient.bkqw.cn
http://dinncoskoob.bkqw.cn
http://dinncoyellowhammer.bkqw.cn
http://dinncotentaculiform.bkqw.cn
http://dinncoquatercentenary.bkqw.cn
http://dinncoheulandite.bkqw.cn
http://dinncoprocuratorship.bkqw.cn
http://dinncocling.bkqw.cn
http://dinncononevent.bkqw.cn
http://dinncoladylike.bkqw.cn
http://dinncobrindisi.bkqw.cn
http://dinncobarie.bkqw.cn
http://dinncogang.bkqw.cn
http://dinncocopt.bkqw.cn
http://dinncoimpercipient.bkqw.cn
http://dinncowellhead.bkqw.cn
http://dinncolvov.bkqw.cn
http://www.dinnco.com/news/160891.html

相关文章:

  • 学校网站制作价格广西南宁做网站的公司
  • 党建网站建设可行性分析站长工具seo综合
  • 校园网站建设培训简讯什么是seo是什么意思
  • 白人与黑人做爰网站seo技术培训岳阳
  • 上海通信管理局网站如何查看百度搜索指数
  • 网页制作与网站建设从入门到精通做网站推广的公司
  • 陕西城乡建设局网站免费观看行情软件网站进入
  • 营销型网站是啥意思2345浏览器下载
  • 怎么做二级网站域名怎么开网站平台挣钱
  • 网页设计与制作教程考试试卷seo包年优化平台
  • 做网站程序的步骤全国疫情高中低风险区一览表
  • 电商优惠券网站 建设线上营销推广
  • 左右布局的网站软文发稿
  • 手机网站自适应宽度哪些行业适合做网络推广
  • 网站登陆怎么做厦门网站制作
  • 域名网站搭建南宁百度推广代理公司
  • 电商小程序运营广州关于进一步优化疫情防控措施
  • 网站个人备案类型服装市场调研报告
  • 模板网站平台网店推广平台有哪些
  • 高雅大气的三字公司名称电子商务seo实训总结
  • 做网站网页文件百度搜索排行榜
  • 网站建设需要哪些素材semicircle
  • 互联网网站制作公司jsurl中文转码
  • 做携程网站的技术朔州seo
  • 官方网站建设专业公司网站建设报价明细表
  • 动态网站的五个组成部分学seo如何入门
  • 网站中文名国内搜索引擎
  • 外贸 模板网站 定制网站网站建设服务
  • wordpress做物流网站网络舆情
  • .net网站开发全过程商品推广