Mybatis的Mapper接口方式实现简单crud操作:

  1.创建实体类 与数据库对应

      我的实体类是《Student》  

          

 package com.hxzy.mybatis.pojo;

 import lombok.Data;

 @Data
public class Student {
private Integer s_id;
private String s_name;
private String s_address; /**
* 有参构造方法
* @param s_id
* @param s_name
* @param s_address
*/
public Student(Integer s_id, String s_name, String s_address) {
this.s_id = s_id;
this.s_name = s_name;
this.s_address = s_address;
} /**
* 无参构造
*/
public Student() { } @Override
public String toString() {
return "Student{" +
"s_id=" + s_id +
", s_name='" + s_name + '\'' +
", s_address='" + s_address + '\'' +
'}';
}
}

      2.我的数据库表是student  《注意表字段要和实体类对应!!

      

      3.创建配置文件 (一般放在接口包中 ,名字为 接口名+Mapper.xml)

                    我的名字是 Student_Mapper.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 这个路径就是接口所在的路径
-->
<mapper namespace="com.hxzy.mybatis.pojo.Student_Mapper"> <select id="select_student" parameterType="int" resultType="com.hxzy.mybatis.pojo.Student">
select * from student where s_id = #{id}
</select> <select id="select_all_student" resultType="com.hxzy.mybatis.pojo.Student" >
select * from student;
</select> <select id="du_student" resultType="com.hxzy.mybatis.pojo.Student" parameterType="String">
select * from student where student.s_name like "${value}%"
</select> <select id="insert_student" parameterType="com.hxzy.mybatis.pojo.Student">
insert into student values(#{s_id},#{s_name},#{s_address})
</select> <delete id="delete_student" parameterType="String">
delete from student where student.s_name = #{name}
</delete> <update id="update_student" parameterType="com.hxzy.mybatis.pojo.Student">
update student set student.s_name = #{s_name} where student.s_id = #{s_id}
</update> </mapper>

        4.创建核心配置文件 (这个时候mybatis的配置文件  一般都叫 Mybatis_cfg.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="test1"> <!--配置数据库的信息-->
<environment id="test1">
<!--开启JDBC的事务-->
<transactionManager type="JDBC"></transactionManager>
<!--配置一些必要的信息-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/stu"></property>
<property name="username" value="root" ></property>
<property name="password" value="gubin"></property>
</dataSource>
</environment>
</environments>
<!--p配置核心配置文件-->
<mappers>
<mapper resource="student_Mapper.xml"></mapper>
</mappers>
</configuration>

          5. 创建接口 (接口里面的方法名  就是Student_Mapper.xml的id)

package com.hxzy.mybatis.pojo;

import java.util.List;

public interface Student_Mapper {
/**
* 查询单个学生
* @param i
* @return
*/
Student select_student(int i);
/**
* 查询全部的学生
*/
List<Student> select_all_student();
/**
* 查询姓杜的学生
*/
List<Student> du_student(String str);
/**
* 添加学生
*/
void insert_student(Student student);
/**
* 删除学生
*/
void delete_student(String str);
/**
* 修改学生
*/
void update_student(Student student);
}

    编写测试类:

         

package com.hxzy.mybatis.test;

import com.hxzy.mybatis.entity.SqlSession_entity;
import com.hxzy.mybatis.pojo.Student;
import com.hxzy.mybatis.pojo.Student_Mapper;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test; import java.util.List; public class Test_mybatis {
/**
* 查询单个学生
*/
@Test
public void select_student(){
//得到SqlSession 对象
SqlSession session = SqlSession_entity.getSession();
//此处省略了Statement语句的编写
Student_Mapper student_mapper = session.getMapper(Student_Mapper.class);
//加载interface中的方法
Student student = student_mapper.select_student(1);
session.close();
System.out.println(student);
}
/**
* 查询多个学生
*/
@Test
public void select_all_student(){
//获得Session对象
SqlSession session = SqlSession_entity.getSession();
//反射技术 将接口加载到内存
Student_Mapper student_mapper = session.getMapper(Student_Mapper.class);
//将返回结果存入集合中
List<Student> list = student_mapper.select_all_student();
//增强for遍历
for (Student student : list) {
System.out.println(student);
}
session.close();
}
/**
* 查询所有姓杜的学生
*/
@Test
public void test_du(){
//获得Session
SqlSession session = SqlSession_entity.getSession();
Student_Mapper student_mapper = session.getMapper(Student_Mapper.class);
List<Student> list = student_mapper.du_student("杜");
System.out.println(list);
session.close();
}
/**
* 添加学生
*/
@Test
public void tst_add(){
//获得Session
SqlSession session = SqlSession_entity.getSession();
Student_Mapper student_mapper = session.getMapper(Student_Mapper.class);
//添加值
student_mapper.insert_student(new Student(5,"黄小斌","石家庄"));
//提交
session.commit();
//关闭
session.close();
}
/**
* 删除学生
*/
@Test
public void delete_student()
{
SqlSession session = SqlSession_entity.getSession();
Student_Mapper student_mapper = session.getMapper(Student_Mapper.class);
student_mapper.delete_student("刘啊文");
session.commit();
session.close();
}
/**
* 修改学生
*/
@Test
public void update_student()
{
SqlSession session = SqlSession_entity.getSession();
System.out.println();
Student_Mapper student_mapper = session.getMapper(Student_Mapper.class);
student_mapper.update_student(new Student(4,"小阿六","避暑山庄")); session.commit();
session.close();
} }

 

Mybatis框架 使用接口Mapper实现数据库的crud操作的更多相关文章

  1. 数据库的CRUD操作

    一:数据库的CRUD操作,C是指create新增,R是指retrieve检索,U是指update更改,D是指delete删除 SQL语句分为3类: 1.DDL指数据定义语言如:create,drop, ...

  2. MyBatis框架的insert节点-向数据库中插入数据

    需求:使用mybatis框架中的insert元素节点向数据库中插入数据 UserMapper.xml UserMapper.java 编写测试方法: @Test public void testAdd ...

  3. Spring Boot使用Spring Data Jpa对MySQL数据库进行CRUD操作

    只需两步!Eclipse+Maven快速构建第一个Spring Boot项目 构建了第一个Spring Boot项目. Spring Boot连接MySQL数据库 连接了MySQL数据库. 本文在之前 ...

  4. 4月18 数据库的CRUD操作

    php主要是实现B/S Brower Server;此外还有C/S:Client Server暂时不考虑: LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Php语言,而现在学的是在wi ...

  5. MyBatis框架的使用解析!数据库相关API的基本介绍

    动态SQL if 根据条件包含where子句的一部分 <select id="findActiveBlogLike" resultType="Blog"& ...

  6. MyBatis 对数据库进行CRUD操作

    1.update修改 uodate修改也可以使用之前的机制在配置文件中直接编写sql 但是update语句的set字句中是根据传入的值决定的, 此时可以通过Mybatis提供的标签实现判断动态拼接up ...

  7. 完成对数据库的CRUD操作

    PS:查询相对复杂,要处理结果集,增删改则不用. package it.cast.jdbc; import java.sql.Connection; import java.sql.ResultSet ...

  8. Mybatis框架基础入门(三)--Mapper动态代理方式开发

    使用MyBatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper动态代理开发方法. 原始Dao开发方法需要程序员编写Dao接口和Dao实现类,此方式开发Dao,存在以下问题: Dao方 ...

  9. MyBatis 框架笔记

    Mybatis 框架笔记   ------技术源于热爱! 获取更多内容请关注小编的个人微信公众平台 1       Mybatis入门 1.1     单独使用jdbc编程问题总结 1.1.1  jd ...

随机推荐

  1. 迷你MVVM框架 avalonjs 学习教程3、绑定属性与扫描机制

    在MVVM框架中,你都会看到页面定了许多奇怪的属性,比如knockout的data-☆,angular的ng-☆,avalon的ms-☆,此外还有一些只写文本节点上的双花括号,它们统称为指令.ms-☆ ...

  2. CMD-SVN查看版本修改记录

    [CMD-SVN查看版本修改记录] 问题:想查看某个版本的具体修做了哪些改动? 方法:svn diff -r r1:(r1-1)  (filename)    filename可选,如果加上就表示查看 ...

  3. FluentValidation 模型验证

    FluentValidation 是 .NET 下的模型验证组件,和 ASP.NET MVC 基于Attribute 声明式验证的不同处,其利用表达式语法链式编程,使得验证组件与实体分开.正如 Flu ...

  4. jmeter 常用函数

    ${__Random(10000000,19999999,str)};vars.put("msisdn","182"+${__evalVar(str)});

  5. 根据车辆品牌获取品牌所属公司,车标logo,创建年份等基本信息

    接口:http://api.besttool.cn/?c=Car&a=brand 请求方式:post 参数: appid 请联系博主QQ987332767获取,注明车标接口,测试appid: ...

  6. mybatis调用自定义函数

    <select id="getFunction" parameterType="int" resultType="string"> ...

  7. SqlMapConfig.xml配置文件中的properties属性

    1.原始的SqlMapConfig.xml配置文件的内容为: <?xml version="1.0" encoding="UTF-8" ?> < ...

  8. java常量池与对象存储

    一 数据存储位置                                 我们先来谈谈数据的存储位置,有五个地方可以存储数据 (1)寄存器:这是最快的存储区,因为它位于不同于其他存储区的地方- ...

  9. C#多线程数据分布加载

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. 进入docker的4种方式

    在使用Docker创建了容器之后,大家比较关心的就是如何进入该容器了,其实进入Docker容器有好几多种方式,这里我们就讲一下常用的几种进入Docker容器的方法. 进入Docker容器比较常见的几种 ...