您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页spring-mybatis框架结合数据库的增删改查

spring-mybatis框架结合数据库的增删改查

来源:五一七教育网

在项目中创建lib包,导入jar包

 建立项目结构为

 创建数据库

#使用数据库
use mydb;

#创建表
create table car(
cid int primary key auto_increment,
cnumber varchar(20),
type varchar(20),
owner varchar(20),
phone varchar(11),
mark varchar(50)
);

insert into car(cnumber,type,owner,phone,mark) values('豫A34G87','轿车','张三','13666666666','临时车');
insert into car(cnumber,type,owner,phone,mark) values('豫B38379','SUV','李四','1566666666','月卡');
insert into car(cnumber,type,owner,phone,mark) values('豫CR9703','卡车','王五','1888888888','年卡');

select * from car;

各层代码

创建bean层(实体类Car)

package com.chai.bean;

public class Car {
    public int cid;
    public String cnumber;
    public String type;
    public String owner;
    public String phone;
    public String mark;

    public int getCid() {
        return cid;
    }

    public void setCid(int cid) {
        this.cid = cid;
    }

    public String getCnumber() {
        return cnumber;
    }

    public void setCnumber(String cnumber) {
        this.cnumber = cnumber;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getOwner() {
        return owner;
    }

    public void setOwner(String owner) {
        this.owner = owner;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getMark() {
        return mark;
    }

    public void setMark(String mark) {
        this.mark = mark;
    }

    @Override
    public String toString() {
        return "User{" +
                "cid=" + cid +
                ", cnumber='" + cnumber + '\'' +
                ", type='" + type + '\'' +
                ", owner='" + owner + '\'' +
                ", phone='" + phone + '\'' +
                ", mark='" + mark + '\'' +
                '}';
    }
}

dao层(接口)

package com.chai.dao;

import com.chai.bean.Car;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface CarDao {
    //全查
    @Select("select * from car")
    List<Car> selectAll();
    //添加
    @Insert("insert into car(cnumber,type,owner,phone,mark)values(#{cnumber},#{type},#{owner},#{phone},#{mark});")
    int tianjia(Car car);
    //删除
    @Delete("delete from car where cid=#{cid}")
    int shanchu(int cid);
    //单查
    @Select("select * from car where cid=#{cid}")
    List<Car> dancha(int cid);
    //修改
    @Update("update car set cnumber=#{cnumber},type=#{type},owner=#{owner},phone=#{phone},mark=#{mark} where cid=#{cid};")
    int xiugai(Car car);


}

service层

接口

package com.chai.service;

import com.chai.bean.Car;


import java.util.List;

public interface CarService {
    //全查
    List<Car> findAll();
    //添加
    int tianjia(Car car);
    //删除
    int shanchu(int cid);
    //单查
    List<Car> dancha(int cid);
    //修改
    int xiugai(Car car);
}

继承类

 

package com.chai.service.impl;
import com.chai.bean.Car;
import com.chai.dao.CarDao;
import com.chai.service.CarService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class CarServiceimpl implements CarService {
    @Autowired
    CarDao carDao;
    //全查
    @Override
    public List<Car> findAll() {

        return carDao.selectAll();

    }
    //添加
    @Override
    public int tianjia(Car car) {

        return carDao.tianjia(car);

    }
    //删除
    @Override
    public int shanchu(int cid) {

        return carDao.shanchu(cid);

    }
    //单查
    @Override
    public List<Car> dancha(int cid) {

        return carDao.dancha(cid);

    }
    //修改
    @Override
    public int xiugai(Car car) {

        return carDao.xiugai(car);

    }


}

 spring.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
    <!--扫描注解:1)在service的接口实现类定义注解 2)dao接口没有实现类,直接在接口上定义
    注解,通过下来自动获得代理对象-->
    <context:component-scan base-package="com.chai" />
    <!--1.定义连接数据库的数据源DriverManagerDataSource:实际开发使用第三方连接池管理数据
    源-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>

    <!--配置mybatis的SqlSessionFactory,自动获得核心对象的SqlSession对象-->
    <bean id="factoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--引用数据源-->
        <property name="dataSource" ref="dataSource"/>
        <!--加载mybatis的核心配置文件-->
        <property name="configLocation" value="mybatis.xml"/>
        <!--给实体类起别名-->
        <property name="typeAliasesPackage" value="com.chai.bean"/>
    </bean>

    <!--配置mapper映射器,告诉mybatis要创建哪些接口的代理对象-->
    <bean id="scannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.chai.dao"/>
    </bean>

    <aop:aspectj-autoproxy/>
</beans>

 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>
    <settings>
        <setting name="logImpl" value="log4j"/>
    </settings>
</configuration>

test测试类

package com.chai.test;


import com.chai.bean.Car;
import com.chai.service.CarService;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;

public class CarTset {
    CarService carService;
    ClassPathXmlApplicationContext context=null;
    
    @Before
    public void intu(){

        context=new ClassPathXmlApplicationContext("spring.xml");
        carService=context.getBean(CarService.class);
    }
    //全查
    @Test
    public void selectAll(){
        List<Car> carList=carService.findAll();
        for (Car car : carList) {
            System.out.println(car);
        }
    }
    //新增
    @Test
    public void tianjia(){
        Car car=new Car();
        car.setCnumber("豫88888");
        car.setType("黑车");
        car.setOwner("柴七");
        car.setPhone("88888888888");
        car.setMark("");
        carService.tianjia(car);

    }
    //删除
    @Test
    public void shanchu(){

        carService.shanchu(2);

    }
    //单查
    @Test
    public void dancha(){
        List<Car> carList=carService.dancha(1);

        for (Car car : carList) {
            System.out.println(car);
        }

    }
    //修改
    @Test
    public void xiugai(){
        Car car=new Car();
        car.setCid(1);
        car.setCnumber("豫78767");
        car.setType("大巴");
        car.setOwner("赵六");
        car.setPhone("1785444577");
        car.setMark("土卡");
        carService.xiugai(car);
        List<Car> carList=carService.dancha(1);
        for (Car car1 : carList) {
            System.out.println(car1);
        }

    }




}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务