一,数据库代码:
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 values(1,'豫A34G56','轿车','张三','13856234589','临时车');
insert into car values(2,'豫B36956','SUV','张玉梅','16589785623','月卡');
insert into car values(3,'豫CR4G56','卡车','刘兆鹏','15889452346','年卡');
select*from car;
delete from car where cid=4
select*from car where cid=4;
update car set owner='饶政',phone='19856785645',mark='月卡' where cid=1;
二,创建项目,导入jar包,创建分层包名,类名
三,各层代码
bean层(实体类Car)
package com.wang.bean;
public class Car {
private Integer cid;
private String cnumber;
private String type;
private String owner;
private String phone;
private String mark;
@Override
public String toString() {
return "Car{" +
"cid=" + cid +
", cnumber='" + cnumber + '\'' +
", type='" + type + '\'' +
", owner='" + owner + '\'' +
", phone='" + phone + '\'' +
", mark='" + mark + '\'' +
'}';
}
public Integer getCid() {
return cid;
}
public void setCid(Integer 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;
}
}
dao层(接口)
package com.wang.dao;
import com.wang.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 values(#{cid},#{cnumber},#{type},#{owner},#{phone},#{mark})")
int add(Car car);
//删除
@Delete("delete from car where cid=#{cid}")
int del(int cid);
//单查
@Select("select*from car where cid=#{cid}")
Car selectCid(int cid);
//修改
@Update("update car set owner=#{owner},phone=#{phone},mark=#{mark} where cid=#{cid}")
int update(Car car);
}
service层
//接口
package com.wang.service;
import com.wang.bean.Car;
import java.util.List;
public interface CarService {
List<Car> findAll();
int insert(Car car);
int delete(int cid);
Car findCid(int cid);
int up(Car car);
}
//实现类
package com.wang.service.impl;
import com.wang.bean.Car;
import com.wang.dao.CarDao;
import com.wang.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 insert(Car car) {
return carDao.add(car);
}
@Override
public int delete(int cid) {
return carDao.del(cid);
}
@Override
public Car findCid(int cid) {
return carDao.selectCid(cid);
}
@Override
public int up(Car car) {
return carDao.update(car);
}
}
config层(配置类)
package com.wang.config;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.sql.DataSource;
@Configuration
@ComponentScan("com.wang")
@EnableAspectJAutoProxy
public class SpringConfig {
@Bean
public DataSource getDataSource(){
DriverManagerDataSource dataSource=new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/web1");
dataSource.setUsername("root");
dataSource.setPassword("root");
return dataSource;
}
@Bean
public SqlSessionFactoryBean getSqlSessionFactoryBean(DataSource dataSource){
SqlSessionFactoryBean factoryBean=new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource);
return factoryBean;
}
@Bean
public MapperScannerConfigurer getMapperScannerConfigurer(){
MapperScannerConfigurer configurer=new MapperScannerConfigurer();
configurer.setBasePackage("com.wang.dao");
return configurer;
}
}
test层(测试类)
package com.wang.test;
import com.wang.bean.Car;
import com.wang.config.SpringConfig;
import com.wang.dao.CarDao;
import com.wang.service.CarService;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.util.List;
public class CarTest01 {
CarService carService;
@Before
public void init(){
AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(SpringConfig.class);
carService = context.getBean(CarService.class);
}
//全查
@Test
public void testSelectAll(){
List<Car> carList = carService.findAll();
for (Car car : carList) {
System.out.println(car);
}
}
//新增
@Test
public void testAdd(){
Car car=new Car();
car.setCid(4);
car.setCnumber("豫V45789");
car.setType("轿车");
car.setOwner("王志刚");
car.setPhone("15837452156");
car.setMark("年卡");
int n = carService.insert(car);
if (n>0){
System.out.println("新增成功");
}
}
//删除
@Test
public void testDel(){
int n = carService.delete(4);
if (n>0){
System.out.println("删除成功");
}
}
//修改
@Test
public void testUpdate(){
Car old = carService.findCid(1);
System.out.println("修改前:"+old);
old.setOwner("田野");
old.setPhone("19878562315");
old.setMark("季卡");
old.setCid(1);
carService.up(old);
Car car=carService.findCid(1);
System.out.println("修改后:"+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">
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
</beans>