欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

eclipse中搭建Mybatis环境

程序员文章站 2022-07-26 20:42:58
需求开发步骤准备Mysql数据库,创建表结构,添加一些数据创建Java工程,导入开发的jar包编写实体类,和表结构对应,用来进行数据封装编写映射配置文件(编写sql语句)编写主配置文件(配置数据库连接相关的信息),并加载映射配置文件编写入门的代码(MyBatis提供的API)准备Mysql数据库,创建表结构CREATE TABLE `user` ( `id` int(11) NOT NULL auto_increment, `username` varchar(32) NOT N...

需求

使用Mybatis从Mysql数据库中查询出数据

开发步骤

  1. 准备Mysql数据库,创建表结构,添加一些数据
  2. 创建Java工程,导入开发的jar包
  3. 编写实体类,和表结构对应,用来进行数据封装
  4. 编写映射配置文件(编写sql语句)
  5. 编写主配置文件(配置数据库连接相关的信息),并加载映射配置文件
  6. 编写入门的代码(MyBatis提供的API)

准备Mysql数据库,创建表结构

CREATE TABLE `user` (
 `id` int(11) NOT NULL auto_increment,
  `username` varchar(32) NOT NULL COMMENT '用户名称',
  `birthday` datetime default NULL COMMENT '生日',
  `sex` char(1) default NULL COMMENT '性别',
  `address` varchar(256) default NULL COMMENT '地址',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert  into `user`(`id`,`username`,`birthday`,`sex`,`address`) values (1,'老二王','2018-02-27 17:47:08','男','北京'),
(2,'小王','2018-03-02 15:09:37','女','北京金燕龙'),
(3,'小二王','2018-03-04 11:34:34','女','北京金燕龙'),
(4,'小李','2018-03-04 12:04:06','男','北京金燕龙'),
(5,'老王','2018-03-07 17:37:26','男','北京'),
(6,'小马宝莉','2018-03-08 11:44:00','女','北京修正');

创建Maven工程,导入jar包

eclipse中搭建Mybatis环境
eclipse中搭建Mybatis环境
然后打开pom.xml文件,进行坐标配置

 <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
 </dependency>
    <!--     mybatis的依赖,导入mybatis的jar包 -->
 <dependency>
       <groupId>org.mybatis</groupId>
       <artifactId>mybatis</artifactId>
       <version>3.4.5</version>
 </dependency>
    <!--     导入数据库连接的jar包 -->
 <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>5.1.6</version>
 </dependency>   
<!--     导入日志的jar包 -->
 <dependency>
       <groupId>log4j</groupId>
       <artifactId>log4j</artifactId>
       <version>1.2.12</version>
 </dependency>

并把log4j.properties文件复制到cn.tx.resources包下
eclipse中搭建Mybatis环境

编写实体类

在src/main/java下新建一个cn.tx.domain包,然后创建实体类User,并实现Serializable接口。
eclipse中搭建Mybatis环境

package cn.tx.domain;
import java.io.Serializable;
import java.util.Date;
//用户实体类
public class User implements Serializable{
 private Integer id;
 private String username;
 private Date birthday;
 private String sex;
 private String address;
 public User() {
  super();
  // TODO Auto-generated constructor stub
 }
 public User(String username, Date birthday, String sex, String address) {
  super();
  this.username = username;
  this.birthday = birthday;
  this.sex = sex;
  this.address = address;
 }
public Integer getId() {
  return id;
 }
 public void setId(Integer id) {
  this.id = id;
 }
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
 public Date getBirthday() {
  return birthday;
 }
 public void setBirthday(Date birthday) {
  this.birthday = birthday;
 }
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
 public String getAddress() {
  return address;
 }
 public void setAddress(String address) {
  this.address = address;
 }
 @Override
 public String toString() {
  return "User [id=" + id + ", username=" + username + ", birthday=" + birthday + ", sex=" + sex + ", address="
    + address + "]";
 }
}

编写映射配置文件

在src/main/java下新建一个cn.tx.dao包,然后创建实体类IUserDao接口。
eclipse中搭建Mybatis环境

package cn.tx.dao;
import java.util.List;
import cn.tx.domain.User;
//用户的持久层操作,用户映射接口
public interface IUserDao {
//查询所有的数据
 public List<User> findAll();
 }

在src/main/resource下创建cn.tx.dao包,在包下创建IUserDao.xml文件
eclipse中搭建Mybatis环境
映射配置文件IUserDao.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper  
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
<!--   namespace属性  名称空间  java包结构一个概念-->
<!-- 用来区分Dao接口,推荐编写Dao接口的全限定路径 -->
<!-- cn.tx.dao.IUserDao.findAll -->

<mapper namespace="cn.tx.dao.IUserDao">

<!--   查询所有 -->
<!-- id必须于IUserDao.java里的方法名一样 -->
<!-- resultType属性,方法返回值类型,全限定路径(包名+类名)-->
<select id="findAll" resultType="cn.tx.domain.User">
<!-- ';'可以省略.编写对应的sql语句 -->
         select * from user;
</select>

编写主配置文件

在src/main/resource下创建SqlMapConfig.xml文件
eclipse中搭建Mybatis环境
SqlMapConfig.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration  
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
  <!--  mybatis的主配置文件 -->
  <configuration>
  <!--      配置环境 -->
      <environments default="mysql">
<!--       配置mysql的环境 -->
       <environment id="mysql">
 <!--       配置事务的类型 -->
        <transactionManager type="JDBC"></transactionManager>
  <!--       配置(数据源)连接池 -->
        <dataSource type="POOLED">
  <!--       配置连接数据库的4个基本信息 -->
         <property name="driver" value="com.mysql.jdbc.Driver"/>
         <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
         <property name="username" value="root"/>
         <property name="password" value="123456"/>
        </dataSource>
       </environment>     
      </environments>
 <!--       指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
      <mappers>
        <mapper resource="cn/tx/dao/IUserDao.xml"/>
      </mappers>
      </configuration>

注意:
eclipse中搭建Mybatis环境经过以上步骤,Mybatis环境就搭建好了,接下来可以写一个测试类

编写入门的代码

创建测试类
eclipse中搭建Mybatis环境
MybatisTest类

@Test
 public void testfindAll() throws Exception{
    //1.读取配置文件
     InputStream inputstream = Resources.getResourceAsStream("SqlMapConfig.xml");
  //2.创建SqlSessionFactory工厂
     SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputstream);
  //3.使用工厂生产SqlSession对象
     SqlSession session = factory.openSession();
  //4.使用SqlSession创建Dao接口的代理对象
     IUserDao userdao = session.getMapper(IUserDao.class);
    //5.使用代理对象执行方法
     List<User> users = userdao.findAll();
     for(User user:users) {
        System.out.println(user);
    }
    //6.释放资源
      session.close();
      inputstream.close();

本文地址:https://blog.csdn.net/m0_46488211/article/details/107374872

相关标签: 笔记 mybatis