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. curl常用设置-涉及超时相关

    curl_easy_setopt( curl, CURLOPT_VERBOSE, 1L ); //在屏幕打印请求连接过程和返回http数据 curl_easy_setopt( curl, CURLOP ...

  2. 46. Permutations (Back-Track,Sort)

    Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the follow ...

  3. Unity Shader-简单均值模糊

    http://blog.csdn.net/puppet_master/article/details/52547442 与Amplify中的Simple Blur例子实现一样

  4. exe怎么找main函数

    先说DEBUG版本的命令行EXE main函数有两种,第一种是int main(),第二种是int main(int argc,char* argv[]) 不管哪种只要查找j___p___argc就能 ...

  5. Hbase 系列(一)基本概念

    Hbase 系列(一)基本概念 HBase 是 Apache 旗下一个高可靠性.高性能.面向列.可伸缩的分布式存储系统.利用 HBase 技术可在廉价 PC 服务器上搭建起大规模的存储化集群.使用 H ...

  6. 购买阿里云的云服务器时选择镜像centos时应该选择哪个版本

    购买阿里云的云服务器时选择镜像centos时应该选择哪个版本 方法/步骤首先,我们要清楚的便是每个系统之间的差别,以及在阿里云上的差别:1. Windows1.1) 系统内含正版激活.1.2) 适合于 ...

  7. appium镜像设置

    npm --registry http://registry.cnpmjs.org install -g appium 使用npm的国内镜像可以安装,速度很不错. 以后不想输入ip的话可以输入以下命令 ...

  8. 马婕 2014MBA专硕考试报刊选读 5 朱令案悬而未决引起全社会的关注(转)

    http://blog.sina.com.cn/s/blog_3e66af4601016pkh.html Why hasn’t doubt over poisoning subsided? 公众对于朱 ...

  9. Linux中逻辑卷(LVM)管理基本操作

    1.创建逻辑卷 原文:https://linux.cn/article-3965-1.html

  10. sqlserver2012 清除日志

    1. backup log wwgl_demo to disk='D:\DATA_BACKUP\2017-07-19.log' 2. 右键数据库-->任务-->收缩-->文件     ...