1)MySQL中创建表

create table student ( id int(11) not null, name varchar(255) default null, email varchar(255) default null, age int(11) default null, primary key(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into student(id,name,email,age) values (1,"zhangsan","zhangsan@hotmail.com",20);
insert into student(id,name,email,age) values (2,"lisi","lisi@hotmail.com",18);
select id,name,email,age from student;

2)加入Maven的mybatis坐标,MySQL驱动的坐标。

2.1)打开Eclipse,创建一个maven project, mybatis-practice。

2.2)配置pom.xml文件,使其包含如下内容。然后右键pom.xml,Maven,update project。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>practice</groupId><artifactId>mybatis</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>mybatis-practice</name><dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency><dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency><dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
</dependencies><build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>

3)创建实体类,student---保存表中的一行数据。

在src,main,java下面创建实体类domain.Student.java

package domain;
//建议类名和表名一致
public class Student {//定义属性private Integer id;private String name;private String email;private Integer age;public Integer getId() {        return id;  }public void setId(Integer id) {        this.id = id;  }public String getName() {      return name;    }public void setName(String name) {     this.name = name;  }public String getEmail() {     return email;   }public void setEmail(String email) {       this.email = email;    }public Integer getAge() {      return age; }public void setAge(Integer age) {      this.age = age;    }@Overridepublic String toString() {       return "Student [id=" + id + ", name=" + name + ", email=" + email + ", age=" + age + "]";    }
}

4)创建持久层的dao接口,定义操作数据库的方法。

4.1)在src,main,java下面创建类dao.studentDAO.java

package dao;
import java.util.List;import domain.Student;
public interface studenDAO {// 查询student表的所有的数据public List<Student> selectStudents();
}

4.2)在src,main,java,dao下面创建配置文件 StudentDAO.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao.studenDAO"><!--SQL语句段--><select id="selectStudents" resultType="domain.Student">select id,name,email,age from student order by id      </select></mapper>

5)创建一个mybatis的主配置文件,一般一个项目一个该配置文件。该文件用来描述数据库的链接信息以及SQL映射文件的位置信息。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//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.jdbc.Driver"/><property name="url" value="jdbc:mysql://192.168.1.66:3306/mysql?useUnicode=true&amp;characterEncoding=utf8"/><property name="username" value="root"/><property name="password" value="******"/></dataSource></environment></environments><mappers><mapper resource="dao\StudentDAO.xml"/></mappers>
</configuration>

6)创建使用mybatis类。

import java.io.IOException;
import java.io.InputStream;
import java.util.List;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.*;import domain.Student;public class myApp {public static void main(String[] args) throws IOException {//访问mybatis读取student数据//1.定义mybatis主配置文件的名称,从类路径的跟开始String config="mybatis.xml";//2.读取这个config表示的文件InputStream in = Resources.getResourceAsStream(config);//3.创建了SqlSessionFactoryBuilder对象SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();//4.创建SqlsessionFactory对象SqlSessionFactory factory = builder.build(in);//5.重要,获取SqlSession对象,从Sqlsession对象中获取SqlSessionSqlSession sqlsession = factory.openSession();//6. 重要,指定要执行的sql语句的标识。sql映射文件中的namesapce+"."+标签的id值String sqlID="dao.studenDAO" + "." + "selectStudents";//7. 执行sql语句,通过SqlId找到语句List<Student> studentList = sqlsession.selectList(sqlID);//8.输出结果studentList.forEach(stu->System.out.println(stu));//9.关闭sqlsession对象sqlsession.close();}}

使用mybatis操作MySQL中的数据库表1---读取数据相关推荐

  1. 将mysql中的数据库表导出和导入

    目录 导出数据库 导入数据库 导出数据库 如果你的mysql没有配置环境变量,首先需要进到你所安装的mysql目录下的bin目录 进入之后输入: mysqldump -uroot -p booksys ...

  2. 从MySQL中导出表中数据_用命令从mysql中导出/导入表结构及数据

    在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: mysqldump 最常用的: mysqldump -uroot -pmysql databasefo ...

  3. mysql 操作表的例子,mysql中库和表的简单操作总结(附示例)

    本篇文章给大家带来的内容是关于mysql中库和表的简单操作总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一. 库的操作 1.创建数据库 创建数据库: create d ...

  4. mysql中视图和表的区别及联系_MySQL中Update、select联用操作单表、多表,及视图与临时表的区别...

    一.MySQL中使用从表A中取出数据来更新表B的内容 例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin.SQL语言中不要显示的出现select关键字 upda ...

  5. 把Excel表格通过MySql Workbench导入数据库表中的使用总结

    把Excel表格通过MySql Workbench导入数据库表中的使用总结 今天接到一个任务,把excel表中的数据导入到mysql数据库中,通过半个多小时的鼓捣,基本上摸清了里面的门道. 首先,准备 ...

  6. 在MySQL中实现交叉表查询2(动态交叉表)

    在MySQL中实现交叉表查询2(动态交叉表) 交叉表分为静态交叉表和动态交叉表.其中静态交叉表中的列是固定的,因此相对容易实现:而动态交叉表中的列需要动态生成. 一.静态交叉表的实现 参见上一篇文章: ...

  7. Mybatis操作Oracle中的Clob和Blob字段

    文章目录 Mybatis操作Oracle中的Clob和Blob字段 [ 我测试用的Mybatis Plus ] A.数据准备 A-1. Oracle中创建测试的表结构:Byte_Array_Test, ...

  8. oracle repeatable read,Oracle和Mysql中的数据库事务有关问题:Mysql Read-Repeatable有有关问题...

    Oracle和Mysql中的数据库事务问题:Mysql Read-Repeatable有问题 今天不知不觉想到数据库的乐观锁和悲观锁,遂想写个程序测测,却发现了另一个问题,Mysql InnoDB的R ...

  9. mysql中什么是表?列?行?什么是主键和外键?什么是索引?为什么要使用索引?

    mysql中什么是表?列?行? 在关系数据库中,表(Table)是数据的主要组织单元.它是由一组命名的列和行组成,用于存储和组织数据. 列(Column)是表中的一个字段,用于存储特定类型的数据.每个 ...

最新文章

  1. 联通和阿里云合作 建互联网云化卡号管理系统
  2. JavaScript 小记 之 闭包(Closures)
  3. SSDT表与ShadowSSDT表
  4. redis安装 linux步骤,【linux安装redis完整步骤】
  5. 计算机操作系统笔记——处理器调度
  6. K8S控制器类型:RC/RS、Deployment、DaemonSet、Job和CronJob、StatefulSet、HPA
  7. 基础知识—数据类型-常量及符号
  8. 国外字体设计师也是蛮重视数学的
  9. SQL查询分析器单文件绿色版
  10. 送送送!这本python少儿编程书籍竟然被出版社官宣了!
  11. Android的虚拟设备的缩写,Android虚拟设备的英语缩写是
  12. 安卓近距离通信--蓝牙通信开发
  13. 计算机专业小论文题目,计算机专业小类论文题目 计算机专业小论文题目怎样拟...
  14. 自己留着用的 .net 图片水印 方法
  15. E4A易安卓计次循环和变量循环及数组
  16. 剑灵灵动区服务器位置,剑灵第四次合服或将来临,终于合大区
  17. Linux几种包下载安装方式
  18. java实现根据指定日期获取今年 去年 本季度 上个季度 本月 上个月的值
  19. stm32管脚不能正常输出高低电平?
  20. 5g空分复用技术_中兴首席科学家向际鹰:空分复用是实现5G的关键

热门文章

  1. android java.lang.ClassNotFoundException但此类已存在
  2. OpenCV图片拼接
  3. 苹果汽车已上路测试,预计将于明年推出
  4. CSS3回炉计划-编码技巧
  5. 【c语言】(函数)金字塔图形问题:根据n的个数,输出由字母组成的一个金字塔图形
  6. CorelDRAW VBA - 段落文本内容的导出 ExportToFile 方法
  7. python 离群值_数据预处理初学者宝典:360° 掌握离群值识别
  8. Java 独占锁ReentrantLock、读(悲观读)写锁ReentrantReadWriteLock、读(乐观读/悲观读)写锁StampedLock
  9. 正态分布(近似正态分布)
  10. r语言C指数的置信区间,用R语言求置信区间