mybatis之增删改查

目录
  • jar包需要三个 连接数据库的以及mybatis的jar包
    • 下面创建数据库 复制到一個文档里面导入数据库即可
    • mybatisUtils文件
    • mybatis.xml配置文件
    • ParkingMapp接口
    • ParkingMapper.xml文件为增删改查sql語句
    • model类ParkingInfo
    • 最后就是测试类了:
  • 总结

jar包需要三个 连接数据库的以及mybatis的jar包

下面创建数据库 复制到一個文档里面导入数据库即可

/*
Navicat MySQL Data Transfer
Source Server         : localhost_3306
Source Server Version : 50731
Source Host           : localhost:3306
Source Database       : ssm_dome_tingche01
Target Server Type    : MYSQL
Target Server Version : 50731
File Encoding         : 65001
Date: 2021-07-12 16:49:15
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for tbl_parking
-- ----------------------------
DROP TABLE IF EXISTS `tbl_parking`;
CREATE TABLE `tbl_parking` (
  `pId` int(11) NOT NULL AUTO_INCREMENT,
  `carNo` varchar(50) DEFAULT NULL,
  `pMark` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`pId`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tbl_parking
-- ----------------------------
INSERT INTO `tbl_parking` VALUES ('1', ' 浙A88888', '123456');
INSERT INTO `tbl_parking` VALUES ('2', '京A88888', '123456');
INSERT INTO `tbl_parking` VALUES ('3', '豫A88888', '123456');
INSERT INTO `tbl_parking` VALUES ('4', '貴A88888', '124566');
INSERT INTO `tbl_parking` VALUES ('5', '莞A88888', '123456');
-- ----------------------------
-- Table structure for tbl_parking_detail
-- ----------------------------
DROP TABLE IF EXISTS `tbl_parking_detail`;
CREATE TABLE `tbl_parking_detail` (
  `pdId` int(11) NOT NULL AUTO_INCREMENT,
  `pId` int(11) DEFAULT NULL,
  `beginDate` datetime NOT NULL,
  `endDate` datetime DEFAULT NULL,
  `pDur` int(11) DEFAULT NULL,
  `pCost` float DEFAULT NULL,
  `pName` varchar(11) DEFAULT NULL,
  PRIMARY KEY (`pdId`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tbl_parking_detail
-- ----------------------------
INSERT INTO `tbl_parking_detail` VALUES ('2', '2', '2019-05-15 17:06:30', '2019-05-15 19:06:30', '2', '30', '張四');
INSERT INTO `tbl_parking_detail` VALUES ('3', '3', '2019-05-15 17:06:30', '2019-05-15 20:06:30', '1', '50', '李四');
INSERT INTO `tbl_parking_detail` VALUES ('4', '4', '2021-07-12 10:57:25', '2021-07-14 14:17:52', '48', '200', '趙四');
INSERT INTO `tbl_parking_detail` VALUES ('5', '5', '2021-07-22 14:17:37', '2021-07-23 14:17:40', '1', '5', '趙雲');
INSERT INTO `tbl_parking_detail` VALUES ('6', '1', '2019-05-15 17:06:30', '2019-05-15 18:06:30', '1', '11', 'dd');

mybatisUtils文件

package cn.hp.util;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MybatisUtils {

	private static SqlSessionFactory sessionFactory;

	static{
		String resource="mybatis.xml";
		try {
			InputStream is=Resources.getResourceAsStream(resource);
			sessionFactory=new SqlSessionFactoryBuilder().build(is);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
	public static SqlSession getSession(){
		return sessionFactory.openSession();
	}

	public static void closeSession(SqlSession session){
		if(session!=null){
			session.close();
		}
	}

}

mybatis.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>
    <typeAliases>
        <package name="cn.hp.model"/>
    </typeAliases>
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/ssm_dome_tingche01?characterEncoding=utf8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
   <mapper resource="cn/hp/dao/ParkingMapper.xml"></mapper>
    </mappers>
</configuration>

ParkingMapp接口

package cn.hp.dao;
import cn.hp.model.ParkingInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface ParkingMapper {
public  List<ParkingInfo> findAll();
//查詢大於某個車費大於30的車
public List<ParkingInfo> findPCost(int pCost);
//查詢某個停車信息
public  ParkingInfo findById(String id);
//根據車主名稱模糊查詢
    public List<ParkingInfo> findParkName(String name);
 //查詢大於某個車費大於30的車 以及車主姓名模糊查詢
    public   List<ParkingInfo>   findPark(@Param("pCost")float pCost,@Param("pName")String pName);
    //Map接受
    public List<ParkingInfo> findParkByMap(Map<String, Object> map);

    //刪除某個信息
    public  int deletePark(int pdid);
    //修改某個信息
    public  int update(ParkingInfo pi);
    //添加一條數據
    public  int add(ParkingInfo pi);
}

ParkingMapper.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">

<mapper namespace="cn.hp.dao.ParkingMapper">
<resultMap id="parkingList" type="cn.hp.model.ParkingInfo">
    <result property="pdid" column="pdid"></result>
    <result property="pid" column="pid"></result>
    <result property="beginDate" column="beginDate"></result>
    <result property="endDate" column="endDate"></result>
    <result property="pDur" column="pDur"></result>
    <result property="pCost" column="pCost"></result>
    <result property="pName" column="pName"></result>
    <result property="carNo" column="carNo"></result>
</resultMap>

    <select id="findAll" resultMap="parkingList">
        select d.*,p.carNo from tbl_parking_detail d,tbl_parking p where  d.pid=p.pid
    </select>

    <select id="findPCost" parameterType="int" resultType="cn.hp.model.ParkingInfo">
        select  * from tbl_parking_detail  where pCost>#{pCost}
    </select>

    <select id="findById" parameterType="String" resultType="cn.hp.model.ParkingInfo">
        select * from  tbl_parking_detail where  pdid=#{pdid}
    </select>
    <select id="findParkName"  resultType="cn.hp.model.ParkingInfo">
    select * from  tbl_parking_detail where pName  like '%${pName}%'
    </select>
    <select id="findPark" resultType="cn.hp.model.ParkingInfo">
        select * from  tbl_parking_detail where pName  like '%${pName}%' and  pCost>#{pCost}
    </select>
<select id="findParkByMap" parameterType="map" resultType="cn.hp.model.ParkingInfo">
 select * from  tbl_parking_detail where pDur=#{pDur} and  pCost>#{pCost}
</select>
    <delete id="deletePark" parameterType="cn.hp.model.ParkingInfo" >
        delete  from  tbl_parking_detail where pdid=#{pdid}
    </delete>
    <update id="update" parameterType="cn.hp.model.ParkingInfo">
        update  tbl_parking_detail  set pName =#{pName} where   pdid=#{pdid}
    </update>
    <insert id="add" parameterType="cn.hp.model.ParkingInfo">
        insert into tbl_parking_detail values (null,#{pid},#{beginDate},#{endDate},#{pDur},#{pCost},#{pName})
    </insert>
</mapper>

model类ParkingInfo

package cn.hp.model;
public class ParkingInfo {
    public  int pdid;
    public  int pid;
    public  String beginDate;
    public  String endDate;
    public  int pDur;
    public  String pName;
    public float pCost;
    public  String carNo;
    public int getPdid() {
        return pdid;
    }
    public void setPdid(int pdid) {
        this.pdid = pdid;
    }
    public ParkingInfo(int pid, String beginDate, String endDate, int pDur, String pName, float pCost, String carNo) {
        this.pid = pid;
        this.beginDate = beginDate;
        this.endDate = endDate;
        this.pDur = pDur;
        this.pName = pName;
        this.pCost = pCost;
        this.carNo = carNo;
    }
    @Override
    public String toString() {
        return "ParkingInfo{" +
                "pdid=" + pdid +
                ", pid=" + pid +
                ", beginDate='" + beginDate + '\'' +
                ", endDate='" + endDate + '\'' +
                ", pDur=" + pDur +
                ", pName='" + pName + '\'' +
                ", pCost=" + pCost +
                ", carNo='" + carNo + '\'' +
                '}';
    }
    public int getPid() {
        return pid;
    }
    public void setPid(int pid) {
        this.pid = pid;
    }
    public String getBeginDate() {
        return beginDate;
    }
    public void setBeginDate(String beginDate) {
        this.beginDate = beginDate;
    }
    public String getEndDate() {
        return endDate;
    }
    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }
    public int getpDur() {
        return pDur;
    }
    public void setpDur(int pDur) {
        this.pDur = pDur;
    }
    public String getpName() {
        return pName;
    }
    public void setpName(String pName) {
        this.pName = pName;
    }
    public float getpCost() {
        return pCost;
    }
    public void setpCost(float pCost) {
        this.pCost = pCost;
    }
    public String getCarNo() {
        return carNo;
    }
    public void setCarNo(String carNo) {
        this.carNo = carNo;
    }
    public ParkingInfo(int pdid, int pid, String beginDate, String endDate, int pDur, String pName, float pCost, String carNo) {
        this.pdid = pdid;
        this.pid = pid;
        this.beginDate = beginDate;
        this.endDate = endDate;
        this.pDur = pDur;
        this.pName = pName;
        this.pCost = pCost;
        this.carNo = carNo;
    }
    public ParkingInfo() {
    }
}

最后就是测试类了:

package cn.hp.test;
import cn.hp.dao.ParkingMapper;
import cn.hp.model.ParkingInfo;
import cn.hp.util.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test01 {
    public static void main(String[] args) {
       // test1();
      //  test2();
//           test3();
     //   test4();
      //      test5();
       // test6();
//        test7();
//     test8();
        test9();
    }
    private static void test9() {
        SqlSession session =MybatisUtils.getSession();
        int i=  session.getMapper(ParkingMapper.class).add(new ParkingInfo(1,"2019-05-15-17:06:30","2019-05-15-18:06:30",1,"dd",11,"sss"));
        if (i>0){
            System.out.println("修改ok");
        }
        session.commit();
    }

    private static void test8(){
        SqlSession session =MybatisUtils.getSession();
        ParkingInfo pi=  session.getMapper(ParkingMapper.class).findById("2");
        pi.setpName("張四");
        int result=session.getMapper(ParkingMapper.class).update(pi);
        if (result>0){
            System.out.println("修改ok");
        }
        session.commit();
    }

    private static void test7() {
        SqlSession session =MybatisUtils.getSession();
        int result=  session.getMapper(ParkingMapper.class).deletePark(1);
        if (result>0){
            System.out.println("刪除ok");
        }
        session.commit();
    }
    private static void test6() {
        SqlSession session =MybatisUtils.getSession();
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("pDur",1);
        map.put("pCost",30);
        List<ParkingInfo> parkingInfoList=  session.getMapper(ParkingMapper.class).findParkByMap(map);
        for (ParkingInfo s:parkingInfoList){
            System.out.println(s.getpCost()+"\t"+s.getpName());
        }
    }
    private static void test5() {
        SqlSession session =MybatisUtils.getSession();
        List<ParkingInfo> parkingInfoList=  session.getMapper(ParkingMapper.class).findPark(30,"趙");
        for (ParkingInfo s:parkingInfoList){
            System.out.println(s.getpCost()+"\t"+s.getpName());
        }
    }
    private static void test4() {
        SqlSession session =MybatisUtils.getSession();
        List<ParkingInfo> parkingInfoList=  session.getMapper(ParkingMapper.class).findParkName("四");
        for (ParkingInfo s:parkingInfoList){
            System.out.println(s.getPdid()+"\t"+s.getpName());
        }
    }
    private static void test3() {
        SqlSession session =MybatisUtils.getSession();
         ParkingInfo si=  session.getMapper(ParkingMapper.class).findById("2");
        System.out.println(si.getPdid()+"\t"+si.getPid()+"\t"+si.beginDate+"\t"+si.endDate+"\t"+si.pDur+"\t"+si.pCost);
    }
    private static void test2() {
        SqlSession session =MybatisUtils.getSession();
        List<ParkingInfo> parkingInfoList=  session.getMapper(ParkingMapper.class).findPCost(30);
        for (ParkingInfo s:parkingInfoList){
            System.out.println(s.getPdid()+"\t"+s.getpCost());
        }
    }

    private static void test1() {
        SqlSession session =MybatisUtils.getSession();
        List<ParkingInfo> parkingInfoList=  session.getMapper(ParkingMapper.class).findAll();
    for (ParkingInfo s:parkingInfoList){
        System.out.println(s.getPdid()+"\t"+s.getCarNo());
    }
    }
}

总结

本篇文章就到这里了,希望能给你带来帮助,也希望你能够多多关注我们的更多内容!

(0)

相关推荐

  • Mybatis实现动态增删改查功能的示例代码

    一.Mybatis 流程简介 最近在看 Mybatis 的源码,大致了解整个框架流程后便手写了一个特别简单的SimpMybatis的小Demo,来巩固这整个框架的学习.下图是我所画的框架大致执行流程:

  • Mybatis Plus使用条件构造器增删改查功能的实现方法

    java后端层级结构 Controller 接口层 接口层比较好理解,它是面向web网络的接口,使用http格式去调用 /** * 图文课程管理Controller */ @RestController @RequestMapping("/driver/imageCourse") public class TImageCourseController extends BaseController { @Autowired private ITImageCourseService tIm

  • Mybatis基于xml配置实现单表的增删改查功能

    Mybatis入门-基于配置实现单表的增删改查 Mybatis简介 官网链接:https://mybatis.org/mybatis-3/zh/index.html.更加详细的信息可以去官网查看. MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型.接口和 Java POJO(Plain Old Java Object

  • 搭建MyBatis-Plus框架并进行数据库增删改查功能

    搭建MyBatis-Plus框架并进行数据库添加 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 1.搭建环境 Jdk:jdk1.8.0_261 Idea:IntelliJ IDEA Maven:apache-maven-3.3.6 MySQL:mysql-5.5.61 2.项目搭建 3.配置maven 4.项目结构 创建数据库 CREATE DATABASE tzy03; USE tzy03;

  • MybatisPlus实现简单增删改查功能

    实现步骤: 工具:IDEA 数据库版本:mysql5.7 一.环境搭建 1.创建springboot项目 pom.xml 2.pom.xml : spring web.lombok mysql <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> &

  • Mybatis实现增删改查及分页查询的方法

    MyBatis的前身就是iBatis.是一个数据持久层(ORM)框架. MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持 久层框架.MyBatis消除了几乎所有的JDBC 代码和参数的手工 设置以及结果集的检索.MyBatis使用简单的XML或注解用于 配置和原始映射,将接口和Java 的POJOs(Plan Old Java Objects,普通的Java 对象)映射成数据库中的记录.每个 MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个 SqlS

  • mybatis实现增删改查_动力节点Java学院整理

    所需要用到的其他工具或技术: 项目管理工具 : Maven 测试运行工具 : Junit 数据库 : Derby Maven Dependencies: <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.7</version> </dependen

  • Mybatis实现增删改查(CRUD)实例代码

    MyBatis简介 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索.MyBatis 可以使用简单的XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. MyBatis下载:https://github.com/mybatis/mybatis-3/releases Mybatis实

  • Mybatis注解增删改查的实例代码

    要点 有另一种方法来完成语句映射. 它们映射的语句可以不用 XML 来配置,而可以使用 Java 注解来配置. 使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪. 如果你需要做一些很复杂的操作,最好用 XML 来映射语句. 需要在config.xml中注册Java接口 <mappers> <mapper class="com.mybatis.DAO.PeopleMapper"

  • Mybatis Plus 增删改查的实现(小白教程)

    目录 前言 什么是 mybatis-plus? 快速开始 准备环境: 准备数据表 IDEA中配置 maven 创建 spring boot 应用 创建mapper接口 添加@MapperScan 扫描 Mapper 文件夹 配置 mybatis 日志 CRUD 基本用法 insert 操作 update 操作 delete 操作 select 操作 前言 在持久层框架中 mybatis 应用比较多,而且比重在逐渐的上升.通常项目的组合是 SSM.mybatis 之所以火,是因为他的灵活,使用方便

  • Mybatis实现增删改查

    目录 一.mybatis的配置 1.1 添加相应的jar包 1.2 配置mybatis.xml文件 1.3 创建数据库 1.4 创建实体类 1.5 创建接口实现的方法 1.6 配置UserMapper.xml 文件 1.7 创建MybatisUtils的方法 二.Mybatis的增删改查 2.1 添加 2.2 修改 2.3 查询 2.4 删除 Mybatis实现增删改查 一.mybatis的配置 1.1 添加相应的jar包 在lib文件夹下面添加mybatis的核心jar包以及依赖的jar包同在

  • mybatis之增删改查

    目录 jar包需要三个 连接数据库的以及mybatis的jar包 下面创建数据库 复制到一個文档里面导入数据库即可 mybatisUtils文件 mybatis.xml配置文件 ParkingMapp接口 ParkingMapper.xml文件为增删改查sql語句 model类ParkingInfo 最后就是测试类了: 总结 jar包需要三个 连接数据库的以及mybatis的jar包 下面创建数据库 复制到一個文档里面导入数据库即可 /* Navicat MySQL Data Transfer

  • MyBatis存储过程、MyBatis分页、MyBatis一对多增删改查操作

    一.用到的实体类如下: Student.java package com.company.entity; import java.io.Serializable; import java.util.Date; public class Student implements Serializable{ private static final long serialVersionUID = 1L; private int id; private String name; private Date

  • MyBatis入门之增删改查+数据库字段和实体字段不一致问题处理方法

    当数据库字段和实体bean中属性不一致时 之前数据库Person名字字段是name,PersonBean中属性也是name,但是之后数据库中修改为了user_name, 方法1:通过sql语句的字段起别名,别名和实体中的对象属性一致 SELECT id,user_name as name,sex,age from person <select id="find" resultType="com.luogg.domain.Person"> SELECT i

  • mybatis抽取基类BaseMapper增删改查的实现

    目录 准备工作: 1:数据库表 2:准备实体类 步骤1:编写工具类Tools:作用:用于驼峰和数据库字段的转换 步骤2:自定义两个注解,分别用于类字段的排除和字义主键 步骤3:自定义动态sql生成类BaseSqlProvider<T> 步骤4:编写BaseMapper基类接口 举例: 目前项目当中使用mapper.xml文件方式对数据库进行操作,但是每个里边都有增/删/改/查,为了方便开发,把这些公共的代码提取出来,不用当做基类,不用每个Mapper文件都写了 准备工作: 1:数据库表 CRE

随机推荐