基于MyBatis的简单使用(推荐)

作者:坚持到底gl 时间:2021-10-14 14:59:46 

MyBatis

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

搭建MyBatis

第一步:先创建一个项目,平常的Java project就行,项目结构先看看

基于MyBatis的简单使用(推荐)

第二步:导入相关的jar包(可以上官网下,开源的):

•mybatis-3.4.4.jar  MyBatis的jar包

•mysql-connector-java-5.1.13-bin.jar  Mysql的jar包

第三步:编写一个配置文件。是一个XML文件mybatis-config.xml,位置放在src下


<?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/mobile"/>
 <property name="username" value="zhou"/>
 <property name="password" value="123456"/>
 </dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/entity/UserMapper.xml"/>
</mappers>
</configuration>

有关MyBatis中xml文件的属性说明:


<!-- 配置文件的根元素 -->
<configuration>
<!-- 属性:定义配置外在化 -->
<properties></properties>
<!-- 设置:定义mybatis的一些全局性设置 -->
<settings>
 <!-- 具体的参数名和参数值 -->
 <setting name="" value=""/>
</settings>
<!-- 类型名称:为一些类定义别名 -->
<typeAliases></typeAliases>
<!-- 类型处理器:定义Java类型与数据库中的数据类型之间的转换关系 -->
<typeHandlers></typeHandlers>
<!-- 对象工厂 -->
<objectFactory type=""></objectFactory>
<!-- 插件:mybatis的插件,插件可以修改mybatis的内部运行规则 -->
<plugins>
 <plugin interceptor=""></plugin>
</plugins>
<!-- 环境:配置mybatis的环境 -->
<environments default="">
 <!-- 环境变量:可以配置多个环境变量,比如使用多数据源时,就需要配置多个环境变量 -->
 <environment id="">
  <!-- 事务管理器 -->
  <transactionManager type=""></transactionManager>
  <!-- 数据源 -->
  <dataSource type=""></dataSource>
 </environment>
</environments>
<!-- 数据库厂商标识 -->
<databaseIdProvider type=""></databaseIdProvider>
<!-- 映射器:指定映射文件或者映射类 -->
<mappers></mappers>
</configuration>

第四步:创建实体类,这个不用多说了,正常创建就ok

第五步:创建实体类的mapper映射xml文件,位置跟实体类同级,是对实体类的一些操作,在我认为就是配置了sql语句的赶脚,再去方法里调一下


<?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可以不加xml后缀 -->
<mapper namespace="com.entity.UserMapper">
<!-- 单个对象查询 -->
<select id="selectUser" parameterType="int" resultType="com.entity.User">
select * from user where id = #{id}
</select>
<!--查询列表 -->
<resultMap id="userList" type="com.entity.User">
<result property="id" column="id" />
<result property="username" column="username"/>
<result property="password" column="password"/>
</resultMap>
<select id="selectAll" resultMap="userList">
select * from user
</select>
<!--插入数据 -->
<insert id="insert" >
insert into User (username,password) values(#{username},#{password})
</insert>
<!--更新数据 -->
<update id="update">
update User set username = #{username},password = #{password} where id = #{id}
</update>
<!--删除数据 -->
<delete id="delete">
delete from User where id = #{id}
</delete>
</mapper>

实体类映射的属性说明:先看前几个后面的遇到再说,百度就可以

基于MyBatis的简单使用(推荐)

第六步:编写一下测试类,测试一下你搭建的是否有用


package com.test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

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 com.entity.User;
/**
*
* @author 坚持到你GL
*
*/
public class Test {
private static SqlSession session=null;
public static SqlSession mySession() {
 //你的MyBatis的配置文件地址
 String resource = "mybatis-config.xml";
 InputStream inputStream=null;
 try {
  //IO解析xml文件
  inputStream = Resources.getResourceAsStream(resource);
 } catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 //创建一个SqlSessionFactoryBuilder对象,获得SqlSessionFactory 的实例
 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
 //开启SqlSession
  session=sqlSessionFactory.openSession();
 return session;
}
private static void select(){
 //selectUser是实体类映射文件的中设置的id
 User user=mySession().selectOne("selectUser",2);
 System.out.println(user);
}
private static void selectAll() {
 List<User> list=mySession().selectList("selectAll");
 for (User user : list) {
  System.out.println(user);
 }
}
private static void insert() {
 User insertuser=new User("zhou","123456");
 mySession().insert("insert",insertuser);
 session.commit();
}
private static void update() {
 User updateuser =new User(9,"admin","admin");
 mySession().update("update", updateuser);
 session.commit();
}
private static void delect() {
 mySession().delete("delete", 10);
 session.commit();
}
public static void main(String[] args) {

selectAll();
}
}

小项目微服务简单的开发,运用MyBatis是非常不错的选择

来源:http://www.cnblogs.com/zhouguanglin/archive/2017/10/09/7643603.html

标签:MyBatis
0
投稿

猜你喜欢

  • MyBatis学习教程(四)-如何快速解决字段名与实体类属性名不相同的冲突问题

    2023-11-25 05:43:49
  • 谈谈你可能并不了解的java枚举

    2023-11-09 21:08:55
  • Java看完秒懂版熔断和降级的关系

    2023-11-06 01:12:13
  • Java实现上传文件图片到指定服务器目录

    2023-06-28 00:23:32
  • Spring Boot 文件上传与下载的示例代码

    2021-08-30 02:04:53
  • Java结构型设计模式之享元模式示例详解

    2022-05-16 21:41:10
  • Apache Calcite进行SQL解析(java代码实例)

    2023-06-26 23:11:59
  • springboot整合企微webhook机器人发送消息提醒

    2023-10-10 01:29:08
  • 使用eclipse创建java项目的方法

    2022-10-15 04:41:00
  • 一文让你搞懂如何手写一个redis分布式锁

    2023-11-29 02:46:30
  • java寻找迷宫路径的简单实现示例

    2021-07-06 13:17:50
  • java 使用HttpURLConnection发送数据简单实例

    2023-12-12 01:44:00
  • 解决Java提示正在尝试分配更低的访问权限问题

    2023-11-04 09:31:08
  • 解析springboot整合谷歌开源缓存框架Guava Cache原理

    2023-11-07 13:24:23
  • SpringBoot在一定时间内限制接口请求次数的实现示例

    2021-10-12 04:28:52
  • 浅谈SpringMVC+Spring3+Hibernate4开发环境搭建

    2023-08-06 13:49:19
  • 关于MyBatis模糊查询的几种实现方式

    2023-05-09 04:23:12
  • java实现大文件分割与合并的实例代码

    2023-11-11 04:31:21
  • Java调用接口如何获取json数据解析后保存到数据库

    2023-11-16 15:01:36
  • Java多线程wait()和notify()方法详细图解

    2021-09-19 20:27:32
  • asp之家 软件编程 m.aspxhome.com