Mybatis简单例子

mybatis案例

1、创建项目,导入依赖

在外面的pom.xml导入mybatis、junit、mysql

2、删除src,创建新项目

删除原有的src,创建项目名字,

3、在resources中搭建核心配置文件

XML 配置文件中包含了对 MyBatis 系统的核心设置,

  • 包括获取数据库连接实例的数据源(DataSource)

  • 以及决定事务作用域

  • 控制方式的事务管理器(TransactionManager)

<?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">
<!--核心配置文件-->
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://**.**.***.***:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimeZone=Aisa/Shanghai"/>
                <property name="username" value="****"/>
                <property name="password" value="****"/>
            </dataSource>
        </environment>
    </environments>

    <!--每一个Mapper.xml都需要在Mybatis核心配置文件中注册!-->
    <mappers>
        <mapper resource="com/xzzlx/dao/PersonMapper.xml"/>
    </mappers>

</configuration>
  • 设置事务、driver、url、username、password

  • 其中url中还要设置一些参数等,譬如useSSL=true&amp 特别是 时区的设置 等等

这里面url、username、password中*是我自己的云服务器地址、账号和密码,只需将其替换为你们自己的就可以了。

4、新建工具类Utils

4.1 从XML中构建SqlSessionFactory

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。

  • sqlSession通过SqlSessionFactory可以获得。

  • SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。

  • 而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。

String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  • 建议使用类路径下的资源文件进行配置
4.2 从 SqlSessionFactory 中获取 SqlSession
public static SqlSession getSqlSession(){
    return sqlSessionFactory.openSession();
}
  • 有了 SqlSessionFactory,顾名思义,可以从中获得 SqlSession 的实例
  • SqlSession 提供了在数据库执行 SQL 命令所需的所有方法

5、创建实体类pojo

将要操作的表的类创建在我们新建的pojo类中

package com.xzzlx.pojo;


public class Person {

  private long id;
  private String uuid;
  private String mobile;
  private String nickname;
  private String idCard;


  public long getId() {
    return id;
  }

  public void setId(long id) {
    this.id = id;
  }

  public String getUuid() {
    return uuid;
  }

  public void setUuid(String uuid) {
    this.uuid = uuid;
  }


  public String getMobile() {
    return mobile;
  }

  public void setMobile(String mobile) {
    this.mobile = mobile;
  }


  public String getNickname() {
    return nickname;
  }

  public void setNickname(String nickname) {
    this.nickname = nickname;
  }


  public String getIdCard() {
    return idCard;
  }

  public void setIdCard(String idCard) {
    this.idCard = idCard;
  }

  @Override
  public String toString() {
    return "Person{" +
            "id=" + id +
            ", uuid='" + uuid + '\'' +
            ", mobile='" + mobile + '\'' +
            ", nickname='" + nickname + '\'' +
            ", idCard='" + idCard + '\'' +
            '}';
  }
}

或者从数据库中选中相应的表,然后点击
在这里插入图片描述

这样会帮我们自动生成实体类的代码

6、创建接口类

6.1 在Dao包中创建接口类
public interface PersonDao {
    /**
     * 查询所有人的集合
     * @return
     */
    List<Person> getPersonList();
}
6.2创捷该接口的xml文件,从而绑定该接口

注意这里边的namespace,就是用来建立关系的

<?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">
<!--绑定了一个对应的Dao/Mapper接口-->
<mapper namespace="com.xzzlx.dao.PersonDao">
    <select id="getPersonList" resultType="com.xzzlx.pojo.Person">
        select * from mybatis.person
    </select>

</mapper>

其中

<select id="getPersonList" resultType="com.xzzlx.pojo.Person">

id是我们接口中的方法名,resultType是返回结果的类型,因为是Person类,所以需要把全限定名放进去

7、测试

使用 JUnit 进行测试

@Test
    public void test01() {
        //第一步:获取sqlSession对象
        SqlSession sqlSession = null;

        try{
            sqlSession = MybatisUtils.getSqlSession();
            //方法一:getMapper
            PersonDao mapper = sqlSession.getMapper(PersonDao.class);
            List<Person> personList = mapper.getPersonList();

            for (Person person : personList) {
                System.out.println(person.toString());
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            //关闭SqlSession
            sqlSession.close();
        }
    }

这里如果出现

  • 遇到配置文件无法被导出或者生效的问题

因为在maven中约定大于配置,默认会在resource中寻找,当发生该错误的时候,

只需要在pom.xml中添加下列代码,目的是让mvn运行的时候,如果找不到当前所需要的配置文件的时候,去其他地方寻找

<!--在build中配置resources,防止我们资源导出失败的问题-->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
以上,就是一个简单的mybatis案例,如果有什么问题可以在评论区留言~~

最后的最后,推荐该博主,太厉害了遇见狂神说之Mybatis

大爱!!!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis是一个功能强大、灵活且易于使用的开源持久化框架,它是一个基于Java开发的持久层框架,简化了数据库操作的编写过程,提供了一种将SQL语句和Java代码分离的方式。 以下是一个MyBatis的入门例子: 1. 首先,在项目的依赖管理工具(如Maven)中添加MyBatis的依赖项,以便能够引入MyBatis的相关类库。 2. 创建一个实体类,用于映射数据库中的表。该类需要与数据库表的字段一一对应,并提供相应的setter和getter方法。 3. 创建一个Mapper接口,其中定义了与数据库操作相关的方法。例如,可以编写一个方法,用于查询数据库表中的数据。 4. 在Mapper接口中,使用注解或XML文件来定义SQL语句。例如,可以使用@Select注解来指定一个查询语句,并通过@Results注解来指定将查询结果映射到实体类的哪些字段上。 5. 创建一个Mapper XML文件,其中定义了SQL语句的具体内容。例如,可以编写一个<select>标签用于查询语句,并使用<resultMap>标签来指定结果的映射。 6. 在MyBatis的配置文件中,配置数据源和连接池等相关信息,并将Mapper接口的映射加入到配置中。配置文件可以为XML文件或使用Java代码进行配置。 7. 在应用程序中,通过MyBatis的API来获取SqlSession实例,并使用SqlSession来执行数据库操作。例如,可以通过SqlSession的selectOne()方法来执行查询操作,并传入Mapper接口的方法名和参数。 8. 最后,关闭SqlSession。 通过以上步骤,就可以使用MyBatis进行数据库操作。MyBatis的优势在于可以灵活地控制SQL语句,提供了多种查询方式和参数传递方式,且能够从SQL中获取结果映射到实体类中。同时,MyBatis的配置简单明了,易于学习和使用。因此,MyBatisJava开发中被广泛运用于数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值