2021年2月1日星期一

Mybatis01

13:01:16

MyBatis是Apache软件基金会下的一个开源项目,前身是iBatis框架。

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射

MyBatis 采用的是 ORM(Object Relational Mapping) 对象关系映射

MyBatis 的两种映射方式:

  1. 通过

  2. 通过注解

MyBatis 的简单实现(

  1. 创建一个maven 模块
  2. 添加 pom 文件
<?

  3. 配置mybatis-config.

    配置 dataSource.properties(自己关联的数据库)

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/study_mybatis_01_01?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername=rootpassword=root

    配置 log4j.properties(网上百度,看看需要啥)

log4j.rootLogger=DEBUG, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

    配置mybatis-config.

<?     <!-- 貌似这里还可以插入一个驼峰命名--> </settings> <!-- 别名配置 --> <typeAliases>  <package name="cn.ttx.pojo"/> </typeAliases> <!--mybatis环境的配置--> <environments default="default">  <environment id="default">   <transactionManager type="JDBC"/>   <dataSource type="POOLED">    <property name="driver" value="${driver}"/>    <property name="url" value="${url}"/>    <property name="username" value="${username}"/>    <property name="password" value="${password}"/>   </dataSource>  </environment> </environments> <!--加载映射文件--> <mappers>  <package name="cn.ttx.dao" /> </mappers></configuration>

  完整配置

  实体类编写(个人比较懒,所以用了Lombok)

package cn.ttx.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.util.Date;@Data@NoArgsConstructor@AllArgsConstructorpublic class User { private Integer id; private String username; private Date birthday; private String sex; private String address;}

  测试

  1. 通过框架提供的Resources类,加载mybatis-config.

  2. 实例化会话工厂建造类SqlSessionFactoryBuilder

  3. 通过上面的SqlSessionFactoryBuilder对象,读取核心配置文件的输入流,得到会话工厂SqlSessionFactory

  4. 使用SqlSessionFactory对象,创建SqlSession对象

    1. 它相当于JDBC中的Connection对象,提供了操作数据库的CRUD方法

    2. 它提供了一个getMapper()方法,获取接口的实现对象。

  5. 获取接口的对象UserMapper,得到接口的代理对象

  6. 执行数据库的查询操作,输出用户信息

  7. 关闭会话,释放资源

package cn.ttx.dao;import cn.ttx.pojo.User;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.After;import org.junit.Before;import org.junit.Test;import java.io.InputStream;import java.util.List;public class UserMapperTest { private SqlSession sqlSession; private UserMapper userMapper; @Before public void setUp() throws Exception {  //1. 获取核心配置文件,得到输入流对象  InputStream is = Resources.getResourceAsStream("mybatis-config.

  

Mybatis执行流程

在Mybatis中一个会话(SqlSession)相当于一次访问数据库的过程,一个会话对象类似于一个Connection连接对象。

  1. Resources:Mybatis提供的一个加载资源的工具类,我们也可以使用其他方式获取配置文件的InputStream。

  2. SqlSessionFactoryBuilder:会话工厂建造类,用于创建会话工厂。

  3. SqlSessionFactory:会话工厂,全局共享一个会话工厂,用于创建会话对象。

  4. SqlSession: 会话,每次访问数据库都需要创建一个会话对象,这个会话对象不能共享。访问完成以后会话需要关闭。

 

IDEA 上面有很多 mybatis 的插件 free-mybatis (可以百度了解)

 

首次写这个东西,有什么错的地方,希望大家指出,谢谢各位大佬

 









原文转载:http://www.shaoqun.com/a/522301.html

跨境电商:https://www.ikjzd.com/

mav:https://www.ikjzd.com/w/2414

jpgoodbuy:https://www.ikjzd.com/w/1553


13:01:16MyBatis是Apache软件基金会下的一个开源项目,前身是iBatis框架。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射MyBatis采用的是ORM(ObjectRelationalMapping)对象关系映射MyBatis的两种映射方式:通过通过注解MyBatis的简单实现(创建一个maven模块添加pom文件<?  3.配置mybat
epa认证:epa认证
五洲会海购:五洲会海购
强大关键词自动抓取软件,A到Z关键词抓取:强大关键词自动抓取软件,A到Z关键词抓取
聊聊新品推广如何选关键词:聊聊新品推广如何选关键词
2018年美联储或将加息4次,美联储加息对跨境卖家有什么影响?:2018年美联储或将加息4次,美联储加息对跨境卖家有什么影响?

没有评论:

发表评论