实验4 Mybatis基础

您所在的位置:网站首页 汽车编号查询车主姓名信息电话 实验4 Mybatis基础

实验4 Mybatis基础

2024-06-26 18:11| 来源: 网络整理| 查看: 265

一:实验目的

1、了解Mybatis基础知识;

2、理解Mybatis工作原理

3、掌握Mybatis基础程序编写及核心配置。

二:实验内容

 首先在数据库中创建学小汽车表:

car表

属性

数据类型

长度

是否主键

可空性

备注

carNumber

char

10

主键

车牌号

brand

varchar

30

品牌

owner

char

10

车主

purchaseDate

date

购置日期

telephone

varchar

20

车主电话

# 创建表:

CREATE TABLE car( carNumber VARCHAR(20) PRIMARY KEY AUTO_INCREMENT, brand VARCHAR(255), OWNER VARCHAR(40), purchaseDate DATE, telephone VARCHAR(20) );

然后基于Mybatis实现以下功能;

1、向car表添加3条记录;

2、基于车牌号的精确查询和基于姓名的模糊查询;

3、修改某车主的电话号码;

4、根据车牌号删除相关信息。

# 创建Car类:

import java.util.Date; public class Car { private String carNumber; private String brand; private String owner; private String purchaseDate; private String telephone; @Override public String toString() { return "Car{" + "carNumber='" + carNumber + '\'' + ", brand='" + brand + '\'' + ", owner='" + owner + '\'' + ", purchaseDate=" + purchaseDate + ", telephone='" + telephone + '\'' + '}'; } public String getCarNumber() { return carNumber; } public void setCarNumber(String carNumber) { this.carNumber = carNumber; } public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public String getOwner() { return owner; } public void setOwner(String owner) { this.owner = owner; } public String getPurchaseDate() { return purchaseDate; } public void setPurchaseDate(String purchaseDate) { this.purchaseDate = purchaseDate; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } }

# CarMapper.xml文件:

insert into car values(#{carNumber},#{brand},#{owner},#{purchaseDate},#{telephone}) select * from car where carNumber=#{carNumber} select * from car where owner like #{owner} update car set telephone=#{telephone} where owner=#{owner} delete from car where carNumber=#{carNumber}

# db.properties文件(里面的用户名和密码要改成你们自己的,不然会报错!!!):

mysql.driver=com.mysql.cj.jdbc.Driver mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&\ characterEncoding=utf8&useUnicode=true&useSSL=false mysql.username=root mysql.password=123456

# mybatis-config.xml文件:

# pom.xml文件:

4.0.0 com.itheima itheima_mybatis_quick 1.0-SNAPSHOT org.apache.maven.plugins maven-compiler-plugin 7 7 war mysql mysql-connector-java 8.0.11 org.mybatis mybatis 3.4.6 junit junit 4.12 log4j log4j 1.2.17

# 创建测试类MybatisTest:

import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.InputStream; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class MyBatisTest { public static void main(String[] args) throws Exception{ //获取核心配置文件 InputStream in = Resources.getResourceAsStream("mybatis-config.xml"); //获取session工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in); //获取session回话对象 SqlSession sqlSession = sqlSessionFactory.openSession(); Car car = new Car(); Scanner sc = new Scanner(System.in); while (true) { System.out.println("请选择操作选项:\n " + "1.添加汽车记录,2.基车牌号的精准查询信息,3.基于车主姓名的模糊查询信息,4.修改车主电话号码,5.根据车牌号删除信息6.退出"); String str = sc.next(); if (str.equals("6")) { System.out.println("退出成功!"); break; } switch(str) { case "1": System.out.println("请输入汽车属性!"); System.out.println("请输入车牌号:"); car.setCarNumber(sc.next()); System.out.println("请输入品牌:"); car.setBrand(sc.next()); System.out.println("请输入车主名:"); car.setOwner(sc.next()); String purchaseDate = null; while (true){ System.out.println("请输入购置日期(ep:2013-04-17):"); purchaseDate = sc.next(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); try { Date date = format.parse(purchaseDate); break; } catch (ParseException e) { System.out.println("不合法的输入,请重新输入!"); e.printStackTrace(); } } car.setPurchaseDate(purchaseDate); System.out.println("请输入车主电话:"); car.setTelephone(sc.next()); //执行操作 参数:namespace + id sqlSession.insert("carMapper.add", car); //mybatis执行更新操作,提交事务 sqlSession.commit(); continue; case "2": System.out.println("请输入需要查询的车牌号:"); //执行操作 参数:namespace + id Car car1 = sqlSession.selectOne("carMapper.findByCarNumber", sc.next()); //打印数据 System.out.println(car1); continue; case "3": System.out.println("请输入需要查询的车主姓氏:"); //执行操作 参数:namespace + id Car car2 = sqlSession.selectOne("carMapper.findByOwnerName", sc.next()+"%"); //打印数据 System.out.println(car2); continue; case "4": //模拟car对象 Car car3 = new Car(); System.out.println("请输入车主名字:"); car.setOwner(sc.next()); System.out.println("电话号码更改为:"); car.setTelephone(sc.next()); //执行操作 参数:namespace + id sqlSession.update("carMapper.update", car3); //mybatis执行更新操作,提交事务 sqlSession.commit(); continue; case "5": System.out.println("请输入需要删除的车牌号:"); //执行操作 参数:namespace + id sqlSession.delete("carMapper.delete", sc.next()); //mybatis执行更新操作,提交事务 sqlSession.commit(); continue; default: System.out.println("输入错误,请重新输入!"); continue; } } //释放资源 sqlSession.close(); } }

# 运行结果图:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3