第一:创建实体类

  1. package entity;
  2.  
  3. public class Emp {
  4. private int empno;
  5. private String ename;
  6. private String job;
  7. public int getEmpno() {
  8. return empno;
  9. }
  10. public void setEmpno(int empno) {
  11. this.empno = empno;
  12. }
  13. public String getEname() {
  14. return ename;
  15. }
  16. public void setEname(String ename) {
  17. this.ename = ename;
  18. }
  19. public String getJob() {
  20. return job;
  21. }
  22. public void setJob(String job) {
  23. this.job = job;
  24. }
  25. public Emp() {
  26. super();
  27. }
  28.  
  29. }

第二:实现方法(我在此处用的接口)

  1. package dao;
  2.  
  3. public interface EmpDao {
  4. /**
  5. * 查看所有的Emps
  6. */
  7. public void findAllEmps();
  8. }

第三:配置方法

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="dao.EmpDao">
  6. <select id="findAllEmps" resultType="entity.Emp">
  7. select * from emp
  8. </select>
  9. </mapper>

第四:连接数据库,打开数据库会话

  1. package test;
  2.  
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.util.List;
  6.  
  7. import org.apache.ibatis.io.Resources;
  8. import org.apache.ibatis.scripting.xmltags.ForEachSqlNode;
  9. import org.apache.ibatis.session.SqlSession;
  10. import org.apache.ibatis.session.SqlSessionFactory;
  11. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  12. import org.junit.Test;
  13.  
  14. import dao.EmpDao;
  15. import entity.Emp;
  16.  
  17. public class testEmp implements EmpDao {
  18.  
  19. @Test
  20. public void findAllEmps() {
  21. try {
  22. //获取一个指向myBatis的总配置文件输入流
  23. InputStream is=Resources.getResourceAsStream("myBatis-config.xml");
  24. //获取一个session工厂,用于创建与数据库之间通讯的session对象(会话对象)(注:数据库是需要会话来管理的)
  25. SqlSessionFactory sf=new SqlSessionFactoryBuilder().build(is);
  26. //打开一个数据库会话
  27. SqlSession session=sf.openSession();
  28. List<Emp>list=session.selectList("dao.EmpDao.FindAllEmps");
  29. for (Emp emp : list) {
  30. System.out.println(emp.getEmpno()+","+emp.getEname()+","+emp.getJob());
  31. }
  32. session.close();
  33. } catch (IOException e) {
  34. // TODO Auto-generated catch block
  35. e.printStackTrace();
  36. }
  37.  
  38. }
  39.  
  40. }

MyBatis举例以及连接数据库过程的更多相关文章

  1. 精尽MyBatis源码分析 - MyBatis 的 SQL 执行过程(一)之 Executor

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...

  2. Mybatis拦截器执行过程解析

    上一篇文章 Mybatis拦截器之数据加密解密 介绍了 Mybatis 拦截器的简单使用,这篇文章将透彻的分析 Mybatis 是怎样发现拦截器以及调用拦截器的 intercept 方法的 小伙伴先按 ...

  3. Eclipse创建一个mybatis工程实现连接数据库查询

    Eclipse上创建第一mybatis工程实现数据库查询 步骤: 1.创建一个java工程 2.创建lib文件夹,加入mybatis核心包.依赖包.数据驱动包.并为jar包添加路径 3.创建resou ...

  4. JDBC、mybatis、hibernate连接数据库

    JDBC连接数据库五步骤: 一.加载驱动 Class.forName(“com.mysql.jdbc.Driver”); 二.建立连接 Connection conn = DriverManager. ...

  5. 从底层源码浅析Mybatis的SqlSessionFactory初始化过程

    目录 搭建源码环境 POM依赖 测试SQL Mybatis全局配置文件 UserMapper接口 UserMapper配置 User实体 Main方法 快速进入Debug跟踪 源码分析准备 源码分析 ...

  6. 配置 Log4j 以便查看 MyBatis 操作数据库的过程

    在 src/main/resources中添加 log4j.properties 配置文件 ,输入如下内 容.#全局面已直 log4j .rootLogger=ERROR, stdout #MyBat ...

  7. 2.mybatis入门实例 连接数据库进行查询

    1.新建项目,添加mybatis和mysql的jar包 2.在mysql中新建表user[id,name,age] CREATE TABLE `users` ( `id` ) NOT NULL aut ...

  8. maven+springMVC+mybatis+junit详细搭建过程 ***

    springMVC+mybatis框架搭建 在上一遍博客中以及讲诉了新建maven项目的流程,现在紧跟上一遍文章,接着搭建spring项目 首先我们先要弄清搭建项目的一般流程,需要注意哪些方面,想要什 ...

  9. MyBatis与JDBC连接数据库所使用的url之间的差异

    在Windows7 系统上安装了MySQL 8.0,然后创建Maven工程,配置pom.xml文件,添加了如下依赖: <dependency> <groupId>org.myb ...

随机推荐

  1. 全面解读第四代基因测序技术Oxford Nanopore--转载

    纳米孔测序技术(又称第四代测序技术)是最近几年兴起的新一代测序技术.目前测序长度可以达到150kb.这项技术开始于90年代,经历了三个主要的技术革新:一.单分子DNA从纳米孔通过:二.纳米孔上的酶对于 ...

  2. 【科普】GSM伪基站 劫持 诈骗?用4G网就安全?想强制用4G?最详细的科普教程在此!

    最近在一些主流论坛(豆瓣.贴吧.虎扑.天涯)都出现了讨论GSM诈骗的新闻,很多受害者受骗. 1.什么是GSM劫持? 平时你的手机是连接到了运营商的基站,才能收到电话短信.伪基站就是有人也买了运营商的基 ...

  3. lib下的Jar包在项目打包的时候提示不能找不到

    maven 使用本地包 lib jar包 依赖一个lib目录 解决方法: <plugin> <groupId>org.apache.maven.plugins</grou ...

  4. 51Nod - 1384 正常解法

    这个是正常解法 #include<stdio.h> #include<string.h> #include<math.h> #include<time.h&g ...

  5. spring cloud 版本号与 boot版本之间的对应关系(版本不对,会导致pom无法引入)

    版本号规则 Spring Cloud并没有熟悉的数字版本号,而是对应一个开发代号. 开发代号看似没有什么规律,但实际上首字母是有顺序的,比如:Dalston版本,我们可以简称 D 版本,对应的 Edg ...

  6. 整数转罗马数字以及罗马数字转整数(java实现)

    题目: 1.罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II  ...

  7. Spring @RequestParam、@RequestBody和@ModelAttribute区别

    一.@RequestParamGET和POST请求传的参数会自动转换赋值到@RequestParam 所注解的变量上1. @RequestParam(org.springframework.web.b ...

  8. php逐行读取.txt文件内容,并解析每行内容

    // 读取nlp text 并存到mongodb public function readNLP(&$errorCode,&$errorMessage) { try{ // $_SER ...

  9. SWUST OJ(957)

    逆置单链表 #include <stdio.h> #include <stdlib.h> typedef struct LNode { char data; struct LN ...

  10. weex中使用sass(失败)

    在编辑器中可以正常编写不报错  但是在页面上不起作用 <style lang="scss" scoped></style> 第一步  安装依赖 npm i ...