1.首先在数据库中建立一张表

create table login(
name varchar(20) not null,
username varchar(20) not null,
password int not null,
type varchar(20) not null
)

2.配置mybatis-config.xml文件(即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"> <configuration> <!-- <settings>-->
<!-- <setting name="LogImpl" value="log4j"/>-->
<!-- </settings>-->
<!--数据库环境配置,我用的是MySQL-->
<environments default="mysql">
<environment id="mysql">
<!--指定事务管理的类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据库连接源,username和password填本机的账号密码-->
<dataSource type="UNPOOLED">
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/job"></property>
<property name="username" value="****"></property>
<property name="password" value="****"></property>
</dataSource>
</environment>
</environments> <mappers>
<mapper resource="com/ys/mapper/UserMapper.xml"></mapper>
</mappers>
</configuration>

这里做几个说明:

<transactionManager type="JDBC"></transactionManager>

事务管理的方式有两种,一种是JDBC,它是直接使用了JDBC的提交和回滚机制,另一种是MANGED,是将事务的管理交付给容器来操作。(结合了spring后就不需要配置事务管理器了,之后SSM结合后再来补充)

<dataSource type="UNPOOLED">
  <property name="driver" value="com.mysql.jdbc.Driver"></property>
  <property name="url" value="jdbc:mysql://127.0.0.1:3306/job"></property>
  <property name="username" value="****"></property>
<property name="password" value="****"></property>
</dataSource>

这里没有使用数据库连接池,毕竟是个学习过程,项目不大用连接词反而影响效率,这里的url,username,password切记换成本地数据库的信息。

这里写代码时还有个小插曲,仅代表个人想法,如果有了解实际原因的大佬,多多赐教啦

<settings>
<setting name="LogImpl" value="log4j"/>
</settings>

这个我注释掉的代码是我在整合log4j时报错:Caused by: org.apache.ibatis.builder.BuilderException: The setting LogImpl is not known.  Make sure you spelled it correctly (case sensitive).

上网查到的原因说是mabtis的jar包过于老旧,换成3.2.7的就可以,可是我使用的jar包是3.4.2的,这里不知道为什么报错,反复尝试后我发现不用配置setting编译器好像会自动识别src目录下的log4j,不知道是不是mybatis在新版本将这个配置默认配置好了。

3.创建一个实体类User.java

package com.ys.pojo;

public class User {
String name;
String username;
int password;
String type; @Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", username='" + username + '\'' +
", password=" + password +
", type='" + type + '\'' +
'}';
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public int getPassword() {
return password;
} public void setPassword(int password) {
this.password = password;
} public String getType() {
return type;
} public void setType(String type) {
this.type = type;
}
}

4.编写mapper映射文件UserMapper.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">
<mapper namespace="com.ys.mapper.UserMapper"> <!--查询所有用户信息-->
<select id="getAllUser" resultType="com.ys.pojo.User">
select * from login ;
</select> </mapper>

5.编写测试代码Test.java

package com.ys.test;

import com.ys.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException;
import java.io.InputStream;
import java.util.List; public class Test {
public static void main(String[] args) throws IOException {
String resource= "mybatis-config.xml";
//获取mybatis配置文件
InputStream is= Resources.getResourceAsStream(resource);
//实例化工厂对象(这里参考源码发现用构建者设计模式的好处是简化对象实例化过程)
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
//实例化SqlSession对象,开启与数据库的交互
SqlSession session=factory.openSession(); List<User> list=session.selectList("getAllUser");
for (User user:list){
System.out.println(user.toString());
} } }

就此,mybatis的基本使用方法如上。

如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]
如果您想转载本博客,请注明出处!

Mybatis基础使用方法的更多相关文章

  1. JAVA之Mybatis基础入门--框架搭建与简单查询

    JAVA中,操作数据库有JDBC.hibernate.Mybatis等技术,今天整理了下,来讲一讲下Mybatis.也为自己整理下文档: hibernate是一个完全的ORM框架,是完全面向对象的.但 ...

  2. MyBatis基础入门《二十》动态SQL(foreach)

    MyBatis基础入门<二十>动态SQL(foreach) 1. 迭代一个集合,通常用于in条件 2. 属性 > item > index > collection : ...

  3. mybatis基础系列(四)——关联查询、延迟加载、一级缓存与二级缓存

    关本文是Mybatis基础系列的第四篇文章,点击下面链接可以查看前面的文章: mybatis基础系列(三)——动态sql mybatis基础系列(二)——基础语法.别名.输入映射.输出映射 mybat ...

  4. mybatis基础系列(二)——基础语法、别名、输入映射、输出映射

    增删改查 mapper根节点及其子节点 mybatis框架需要读取映射文件创建会话工厂,映射文件是以<mapper>作为根节点,在根节点中支持9个元素,分别为insert.update.d ...

  5. MyBatis基础入门《十八》动态SQL(if-where)

    MyBatis基础入门<十八>动态SQL(if-where) 描述: 代码是在<MyBatis基础入门<十七>动态SQL>基础上进行改造的,不再贴所有代码,仅贴改动 ...

  6. MyBatis基础入门《十七》动态SQL

    MyBatis基础入门<十七>动态SQL 描述: >> 完成多条件查询等逻辑实现 >> 用于实现动态SQL的元素主要有: > if > trim > ...

  7. MyBatis基础入门《十二》删除数据 - @Param参数

    MyBatis基础入门<十二>删除数据 - @Param参数 描述: 删除数据,这里使用了@Param这个注解,其实在代码中,不使用这个注解也可以的.只是为了学习这个@Param注解,为此 ...

  8. MyBatis基础入门《八》查询参数传入Map

    MyBatis基础入门<八>查询参数传入Map 描述: 在执行select查询数据的时候,方法传入的参数是java.util.Map类型. 接口方法: xml文件 注意: 书写SQL语句的 ...

  9. MyBatis基础入门《七》查询参数传入对象

    MyBatis基础入门<七>查询参数传入对象 描述: 在执行查询语句的时候,传入的参数是一个对象,依据对象的属性,进行检索数据.此时,书写SQL语句中的条件时,其参数需要和对象中的属性保持 ...

随机推荐

  1. Selenium3自动化测试【16】元素定位之Tag

    @ 目录 1. 通过tag name定位Bing案例 2. 通过tag name定位一组元素案例 3.[测试全系列视频课程]请点击我哦..... tag name方法是通过对HTML页面中tag na ...

  2. hdu1054 简单最小顶点覆盖

    题意:       给你一些点,和一些边,如果把一个点安装保护装置,那么与他直接相连的点就可以被保护,题目问的是最少安装多少个点能让所有的点都被保护. 思路:       这是最基础的二分图最少定点覆 ...

  3. MD5算法C/C++的实现

    博客链接:http://blog.csdn.net/qq1084283172/article/details/52334027 在逆向程序的时候,经常会碰到加密的算法的问题,前面分析UC的逆向工程师的 ...

  4. [CTF]培根密码

    [CTF]培根密码 ---------------------  作者:adversity`  来源:CSDN  原文:https://blog.csdn.net/qq_40836553/articl ...

  5. 【python】Leetcode每日一题-丑数

    [python]Leetcode每日一题-丑数 [题目描述] 给你一个整数 n ,请你判断 n 是否为 丑数 .如果是,返回 true :否则,返回 false . 丑数 就是只包含质因数 2.3 和 ...

  6. HashMap 的数据结构

    目录 content append content HashMap 的数据结构: 数组 + 链表(Java7 之前包括 Java7) 数组 + 链表 + 红黑树(从 Java8 开始) PS:这里的& ...

  7. Electron-Vue3-Vadmin后台系统|vite2+electron桌面端权限管理系统

    基于vite2.x+electron12桌面端后台管理系统Vite2ElectronVAdmin. 继上一次分享vite2整合electron搭建后台框架,这次带来的是最新开发的跨桌面中后台权限管理系 ...

  8. Java初始化数据域的途径

    Java调用构造器的具体处理步骤: 1.所有数据域被初始化为默认值(0,false或null); 2.按照在类声明中出现的次序,依次执行所有域的初始化语句和初始化块: 3.如果构造器第一行调用了第二个 ...

  9. J2SE基础题

    J2SE基础 八种基本数据类型的大小,以及他们的封装类.(有的也说是9中基本数据类型,包括了void) 基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 ...

  10. 基于深度学习的回声消除系统与Pytorch实现

    文章作者:凌逆战 文章代码(pytorch实现):https://github.com/LXP-Never/AEC_DeepModel 文章地址(转载请指明出处):https://www.cnblog ...