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 org.junit.Test;
import javax.imageio.IIOException;
import java.io.IOException;
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{
//插入操作,通过测试方法运行不了,只能通过主方法
insertTest();
}
//插入操作
public static void insertTest() throws IOException {
Car car = new Car();
//while循环,然后控制台手动输入数据,不然代码冗余
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请选择操作选项:1.添加汽车属性,2.退出");
String str = sc.next();
if (str.equals("2")) {
System.out.println("退出成功!");
break;
}else if (str.equals("1")) {
System.out.println("请输入汽车属性!");
System.out.println("请输入车牌号:");
String carNumber = sc.next();
System.out.println("请输入品牌:");
String brand = sc.next();
System.out.println("请输入车主名:");
String owner = 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();
}
}
System.out.println("请输入车主电话:");
String telephone = sc.next();
car.setCarNumber(carNumber);
car.setBrand(brand);
car.setOwner(owner);
car.setPurchaseDate(purchaseDate);
car.setTelephone(telephone);
}else {
System.out.println("输入错误,请重新输入!");
continue;
}
//获取核心配置文件
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
//获取session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//获取session回话对象
SqlSession sqlSession = sqlSessionFactory.openSession(true);//有参数true,下面就不需要手动提交事务了
//执行操作 参数:namespace + id
sqlSession.insert("carMapper.add", car);
//mybatis执行更新操作,提交事务
//sqlSession.commit();
//释放资源
sqlSession.close();
}
}
@Test
public void selectCarNumberTest() throws IOException{
//获取核心配置文件
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
//获取session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//获取session回话对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行操作 参数:namespace + id
Car car = sqlSession.selectOne("carMapper.findByCarNumber", "1");
//打印数据
System.out.println(car);
//释放资源
sqlSession.close();
}
@Test
public void selectOwnerNameTest() throws IOException{
//获取核心配置文件
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
//获取session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//获取session回话对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行操作 参数:namespace + id
Car car = sqlSession.selectOne("carMapper.findByOwnerName", "张%");
//打印数据
System.out.println(car);
//释放资源
sqlSession.close();
}
@Test
public void updateTelephone() throws IOException{
//模拟car对象
Car car = new Car();
car.setTelephone("12345678910");
car.setOwner("张三");
//获取核心配置文件
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
//获取session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//获取session回话对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行操作 参数:namespace + id
sqlSession.update("carMapper.update", car);
//mybatis执行更新操作,提交事务
sqlSession.commit();
//释放资源
sqlSession.close();
}
@Test
public void delete() throws IOException{
//获取核心配置文件
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
//获取session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//获取session回话对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行操作 参数:namespace + id
sqlSession.delete("carMapper.delete", "3");
//mybatis执行更新操作,提交事务
sqlSession.commit();
//释放资源
sqlSession.close();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
实验4 Mybatis基础代码
共19个文件
xml:10个
class:3个
java:3个
需积分: 0 24 下载量 163 浏览量
2022-11-11
10:59:19
上传
评论
收藏 19KB ZIP 举报
温馨提示
一:实验目的 1、了解Mybatis基础知识; 2、理解Mybatis工作原理 3、掌握Mybatis基础程序编写及核心配置。 二:实验内容 首先在数据库中创建学小汽车表: car表 属性 数据类型 长度 是否主键 可空性 备注 carNumber char 10 主键 否 车牌号 brand varchar 30 品牌 owner char 10 否 车主 purchaseDate date 购置日期 telephone varchar 20 车主电话 然后基于Mybatis实现以下功能; 1、向car表添加3条记录; 2、基于车牌号的精确查询和基于姓名的模糊查询; 3、修改某车主的电
资源推荐
资源详情
资源评论
收起资源包目录
实验4Mybatis基础代码.zip (19个子文件)
test04
pom.xml 1KB
target
test-classes
MyBatisTest.class 4KB
generated-test-sources
test-annotations
classes
Car.class 2KB
mybatis-config.xml 1KB
MyBatisTest.class 4KB
db.properties 207B
CarMapper.xml 1KB
generated-sources
annotations
src
test
java
MyBatisTest.java 6KB
main
resources
mybatis-config.xml 1KB
db.properties 207B
CarMapper.xml 1KB
java
MyBatisTest.java 5KB
Car.java 1KB
.idea
uiDesigner.xml 9KB
misc.xml 671B
jarRepositories.xml 864B
compiler.xml 539B
workspace.xml 6KB
.gitignore 188B
共 19 条
- 1
资源评论
沉鱼落雁coding
- 粉丝: 17
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- 【ERP标准流程-标准流程-进货管理】(DOC 17页).doc
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- Java爬虫项目【项目开发计划】(共12页).docx
- 11111111111
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功