第一个Mybatis程序

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 第一个Mybatis程序

搭建数据库环境:

CREATE DATABASE mybatis;
USE mybatis;

CREATE TABLE user(
id INT(20) NOT NULL PRIMARY KEY,
name VARCHAR(30) DEFAULT NULL,
pwd VARCHAR(30) DEFAULT NULL
)ENGINE=INNODB DEFAULT CHARSET=utf8;

INSERT INTO user(id,name,pwd) VALUES
(1,'戴','12345'),
(2,'张三','12345'),
(3,'李四','12345')

新建项目
1.新建一个maven项目
2.删除src
3.导入maven的依赖

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.2</version>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
</dependency>

编写mybatis的核心配置文件

<?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">

<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/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf-8"/>
            <property name="username" value="root"/>
            <property name="password" value="123456"/>
        </dataSource>
    </environment>
</environments>

编写Mybatis工具类

public class MybatisUtils {

public static SqlSessionFactory sqlSessionFactory=null ;
static {
    //使用Mybatis第一步:获取sqlSession对象
    String resource = "mybatis-config.xml";
    InputStream inputStream = null;
    try {
        inputStream = Resources.getResourceAsStream(resource);
         sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public static SqlSession getSqlSession(){
    SqlSession sqlSession = sqlSessionFactory.openSession();
    return sqlSession;
}

}

实体类代码:

public class User {

private int id;
private String name;
private String pwd;

public User(int id, String name, String pwd) {
    this.id = id;
    this.name = name;
    this.pwd = pwd;
}

public User() {
}

public int getId() {
    return id;
}

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

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getPwd() {
    return pwd;
}

public void setPwd(String pwd) {
    this.pwd = pwd;
}

@Override
public String toString() {
    return "User{" +
            "id=" + id +
            ", name='" + name + '\'' +
            ", pwd='" + pwd + '\'' +
            '}';
}

}

Dao接口:

public interface UserDao {

List<User> getUserList();

}

接口实现类由原来的UserDaoImpl转换为一个Mapper.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">

<select id="getUserList" resultType="com.dai.pojo.User">
    select * from mybatis.user
</select>

测试
junit测试

public class UserDaoTest {

@Test
public void test(){
    //获取sqlSession
    SqlSession sqlSession = MybatisUtils.getSqlSession();

    //执行sql
    UserDao mapper = sqlSession.getMapper(UserDao.class);
    List<User> userList = mapper.getUserList();

    for (User user : userList) {
        System.out.println(user);
    }

    //关闭sqlsession
    sqlSession.close();
}

}

注意报错点:

org.apache.ibatis.binding.BindingException: Type interface

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
Java 数据库连接 数据库
Mybatis【第一个 Mybatis 程序】
Mybatis【第一个 Mybatis 程序】
|
10月前
|
SQL Java 关系型数据库
手把手搭建mybatis入门程序
手把手搭建mybatis入门程序
|
11月前
|
XML 存储 SQL
如何用IDEA创建第一个Mybatis程序
如何用IDEA创建第一个Mybatis程序
|
XML Java 测试技术
第一个MyBatis程序(下)
第一个MyBatis程序(下)
|
XML SQL Java
第一个MyBatis程序(上)
第一个MyBatis程序(上)
|
SQL XML Java
第一个mybatis程序
第一个mybatis程序
261 0
|
Java 关系型数据库 数据库连接
第一个Mybatis程序
思路:搭建环境--》导入Mybatis-->编写代码--》测试!
第一个Mybatis程序
|
Java 数据库连接 Maven
MyBatis第一个程序
MyBatis第一个程序
|
XML Java 数据库连接
Mybatis学习笔记(1)——第一个程序
暑期之前就有打算学习SSM,但是我记得当时再配置一个框架疯狂报错,弄得我很难受,,再加上当时有点其他事情,所以就放了下来。现在很有需求要会ssm,所以就学了一下。感觉框架这东西配置就烦的要死。错一丁点就全错。。下面开始说配置详情。
96 0
Mybatis学习笔记(1)——第一个程序
|
Java 关系型数据库 MySQL
MyBatis第一个入门程序
MyBatis第一个入门程序
MyBatis第一个入门程序