从零开始Mybatis连接数据库

创建Maven文件

File-->new-->project-->maven,点击next

配置

在出现的pom.xml文件中<project>标签之间加入以下内容

 <!--打包方式-->
<packaging>jar</packaging> <dependencies>
<!--加载Mybatis核心-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency> <!--Junit测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency> <!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.3</version>
</dependency> </dependencies>

在src-->main-->resources下创建文件mybatis-config.xml

在该文件中加入以下内容:

<?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.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="自己的用户名"/>
<property name="password" value="自己的密码"/>
</dataSource>
</environment>
</environments> </configuration>

注意将username和password的value值改成自己的,且在自己的数据库中创建test库

创建实体类

在main的java下创建我们需要与表中对应的实体类,这里我们写user类


public class User {
//实体类 //属性与表中的各项对应,加入相应的get,set方法
int userid;
String username;
String userpass;
String usertel;
int usercarad; public User() {
} public User(int userid, String username, String userpass, String usertel, int usercarad) {
this.userid = userid;
this.username = username;
this.userpass = userpass;
this.usertel = usertel;
this.usercarad = usercarad;
} public int getUserid() {
return userid;
} public void setUserid(int userid) {
this.userid = userid;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getUserpass() {
return userpass;
} public void setUserpass(String userpass) {
this.userpass = userpass;
} public String getUsertel() {
return usertel;
} public void setUsertel(String usertel) {
this.usertel = usertel;
} public int getUsercarad() {
return usercarad;
} public void setUsercarad(int usercarad) {
this.usercarad = usercarad;
}
}

创建com.mapper包,并在包下创建UserMapper接口

这里我们简单做一个添加内容示例


package com.mapper; public interface UserMapper {
int insertUser();//返回值为改变的行数
}

创建UserMapper.xml映射文件

在resources文件夹下创建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">
<!--第一个一致,namespace对应UserMapper接口全类名-->
<mapper namespace="com.mapper.UserMapper"> <!--第二个一致,id对应方法名 int insertUser(); -->
<insert id="insertUser">
insert into user values (null,"tom","1234","111",22)
</insert> </mapper>

在mybatis-config.xml下<configuration>标签中最下面加入


<!--引入映射文件-->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>

创建测试类

创建Test类进行测试


import com.mapper.UserMapper;
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.Reader; public class Test {
public static void main(String[] args) throws IOException {
//获取配置文件
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
// 获取SqlSessionFactoryBuilder获取SqlSessionFactory工厂
SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
//获取SqlSessionFactory工厂
SqlSessionFactory sqlSessionFactory= sqlSessionFactoryBuilder.build(reader);
//利用工厂获取sqlSession
SqlSession sqlSession=sqlSessionFactory.openSession();//openSession()加入参数true,即可实现自动提交事务
//利用sqlSession的方法获取接口的对象
UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
//调用接口方法,从而调用映射文件的sql语句
int num= userMapper.insertUser();
//提交事务
sqlSession.commit();
System.out.println("改变行数"+num); }
}

运行结果:

Mybatis连接数据库的更多相关文章

  1. SpringBoot+MyBatis连接数据库

    SpringBoot通过MyBatis连接数据库有2种方法: 1.注解 2.XML文件 1.注解 1.构建项目 2.添加依赖: <dependencies> <dependency& ...

  2. mybatis连接数据库出错获取不到SQLsession

    采用mybatis连接数据库时候出现的问题描述: 数据库连接配置正确,mybatis-config数据库等部分配置均正确,连接数据库是OK的 <properties resource=" ...

  3. Spring Boot MyBatis 连接数据库

    最近比较忙,没来得及抽时间把MyBatis的集成发出来,其实mybatis官网在2015年11月底就已经发布了对SpringBoot集成的Release版本,Github上有代码:https://gi ...

  4. (转) Spring Boot MyBatis 连接数据库

    最近比较忙,没来得及抽时间把MyBatis的集成发出来,其实mybatis官网在2015年11月底就已经发布了对SpringBoot集成的Release版本,Github上有代码:https://gi ...

  5. JDBC与Druid简单介绍及Druid与MyBatis连接数据库

    序言 java程序与数据建立连接,首先要从jdbc说起,然后直接上阿里认为宇宙最好的数据库连接池druid,然后再说上层程序对象与数据源映射关联关系的orm-mybatis. JDBC介绍 JDBC( ...

  6. mybatis连接数据库的几种方式

    1.可以通过配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...

  7. JDBC/Mybatis连接数据库报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.

    造成这个的原因是maven导入MyBatis的时候会自动导入最新版本的8.0.11,然后8.0.11采用了新驱动,之前版本会报错. 当我们使用高版本的MySQL驱动时可以在获取数据库的连接getCon ...

  8. 使用Mybatis连接数据库时报错:org.apache.ibatis.exceptions.PersistenceException: ### Error updating database.

    我的原因是字段名写错了,去数据库中复制字段名再运行就成功了.

  9. 14. Spring Boot MyBatis 连接数据库

    转自:https://blog.csdn.net/catoop/article/details/50553714

  10. mybatis实战教程(mybatis in action)之五:与spring3集成

    在这一系列文章中,前面讲到纯粹用mybatis 连接数据库,然后 进行增删改查,以及多表联合查询的的例子,但实际项目中,通常会用 spring 这个沾合剂来管理 datasource 等.充分利用sp ...

随机推荐

  1. 【Java SE】Day10接口、多态

    一.接口 1.概述 是一种引用类型,是方法的集合,内部封装了各种方法 引用类型:数组.类.接口.包装类 2.方法的定义格式 抽象方法:无方法体,子类实现 默认方法: 静态方法:static修饰,可以由 ...

  2. 【Impala】概念、原理、内外部shell、建库建表、分区、查询、自定义函数、存储压缩

    一.基本概念 1.介绍 对HDFS.Hbase数据的高性能.低延迟的交互式SQL查询功能 2.优缺点 优点:基于内存运算,无需写入磁盘,无需转化为MR,支持Data Locality调度(数据和计算在 ...

  3. if-else 的优美写法

    前言‍♂️ 相信大家或多或少都接触过拥有庞大 if else 的项目代码吧,多重嵌套的 if else 在维护的时候真的让人很恼火,有时候一个 bug 排查下来,严重感觉身体被掏空. 本文并未有消灭或 ...

  4. [seaborn] seaborn学习笔记6-热图HEATMAPPLOT

    6 热图Heatmapplot(代码下载) 热图是指通过将矩阵单个的值表示为颜色的图形表示.热力图显示数值数据的一般视图非常有用,制作热图很简单,且不需要提取特定数据点.在seaborn中使用heat ...

  5. [OpenCV实战]13 OpenCV中使用Mask R-CNN进行对象检测和实例分割

    目录 1 背景介绍 1.1 什么是图像分割和实例分割 1.2 Mask-RCNN原理 2 Mask-RCNN在OpenCV中的使用 2.1 模型下载 2.2 模型初始化 2.3 模型加载 2.4 输出 ...

  6. [机器学习] 特征选择笔记4-使用SelectFromModel特征选择

    特征选择 代码下载 本文主要介绍sklearn中进行特征选择的方法. sklearn.feature_selection模块中的类可用于样本集的特征选择/降维,以提高估计量的准确性得分或提高其在超高维 ...

  7. 使用插件式开发称重仪表驱动,RS232串口对接各类地磅秤数据实现ERP管理

    在ERP系统中,采集一线的生产数据是重要工作之一,而称重计量是企业的核心资产数据,人工计重费时费力,还容易出错,重量数据是否正确,直接影响企业的采购或销售额.基于此,由系统对接电子秤实现自动抓取数据是 ...

  8. 问一个 Windows 窗口的 Capture 问题

    好久没写了,上来先问一个问题...羞射... 有 A.B 两个窗口,A 是 B 的 Owner,B 不激活不抢焦点.在 B 的 WM_LBUTTONDOWN 的时候,设置 A 窗口为 Capture: ...

  9. .Net6在Docker环境下操作Selenium.Chrome的那些坑

    .Net6中想实现对某个网址截屏,可通过Selenium模拟访问网址并实现截图. 实现 安装Nuget包 <PackageReference Include="Selenium.Chr ...

  10. Collection集合常用功能-Iterator接口介绍

    Collection集合常用功能 Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合.方法如下︰ ...