快速上手Mybatis之基础用法

一、什么是mybatis

  一直以来我都觉得,我们要学习一样新的知识的时候,不能盲目的学习,最起码我们要知道这个东西是什么,有什么用,怎么用。
  MyBatis 是一款优秀的持久层框架。它是支持定制化 SQL、存储过程和高级映射的。它能够使用简单的xml或者是注解来配置和映射原生信息。将接口和Java的pojos映射成数据库中的记录。使用mybatis可以让sql语句和程序代码解耦。提高可维护性。

二、mybatis的使用

 1、导入jar包
  因为我是用的maven,所以在pom.xml文件里添加,要是用别的框架就要手动导入一下jar包。

<!-- mybatis -->
  <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
  <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.6</version>
  </dependency>

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>
 <environments default="default">  <!-- 默认环境-->
  <environment id="default">
   <transactionManager type="JDBC"></transactionManager>  <!--JDBC表示自己控制sql语句-->
   <dataSource type="POOLED">    <!--配置数据源,POOLED表示用C3P0-->
    <property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
    <property name="url"
     value="jdbc:mysql://localhost:3306/spring?characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=UTC&amp;rewriteBatchedStatements=true&amp;allowPublicKeyRetrieval=true"></property>
    <property name="username" value="root"></property>
    <property name="password" value="000000"></property>
   </dataSource>
  </environment>
 </environments>
 
 <mappers>
  <mapper resource="mappers/UserMapper.xml"/>     <!--关联相关映射文件-->
 </mappers>
</configuration>

3、我们要创建一个相关映射文件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">    <!--这个头部和mybatis-config.xml的头部是不同的-->

<mapper namespace="test">
 <select id="queryAllUser"  
            resultType="net.seehope.spring.project.pojo.User">    <!-- resultType返回的数据结果类型,用实体类的全限定名 -->
  select * from user 
 </select>
</mapper>

4、测试

import java.io.IOException;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
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 net.seehope.spring.project.pojo.UUIDUser;
import net.seehope.spring.project.pojo.User;

public class MybatisMain {
 public static void main(String[] args) throws IOException {
	   try {
		System.out.println("進入MybatisMain");
		            //导入配置文件
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
		   
		            //打开一个会话
		SqlSession session = sessionFactory.openSession();
		   
		            //查询全部
		//  List<User> users = session.selectList("queryAllUser");
		
		//  for (User user : users) {
			//   System.out.println(ReflectionToStringBuilder.toString(user,ToStringStyle.MULTI_LINE_STYLE));
		//  }
		
		//根据id查询
		//   User  user= session.selectOne("queryUserById",1);


		//根据用户名模糊查询
   		User  user=session.selectOne("queryUserByUsername","李四");

		//插入
		// session.insert("insertUser",user);
		   
		//更改
		// session.update("updateUser",3); 

		//刪除
		//   session.delete("delUserById",3);
		   
		 //输出
		 System.out.println(ReflectionToStringBuilder.toString(user,ToStringStyle.MULTI_LINE_STYLE));

		//uuid插入
		 UUIDUser uuidUser = new UUIDUser("uuidId", new Date().toString());
		 session.insert("insertUUIDUser",uuidUser);
				
		 session.commit();//提交会话
 		 session.close();//关闭会话
		 } catch (IOException e) {
		  e.printStackTrace();
  		}
 	}
}

		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值