目录
思路
步骤
1.设计数据库
创建数据库->创建表->设置表里面的数据类型->创建表的连接
2.设计接口
例子:
3.具体实现类
小结
io流和数据库交互对比
io流的特点
Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。
Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。
一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。
MySql的特点
- 1.数据以表格的形式出现
- 2.每行为各种记录名称
- 3.每列为记录名称所对应的数据域
- 4.许多的行和列组成一张表单
- 5.若干的表单组成database
在重构中的理解
io方便快捷,但是每次操作都需要重新去文件里面拿取数据。相比于数据库,数据库可以利用连接池,不会浪费过多的资源
io流比较方便,想用的时候创建文件夹就可以了,相比于数据库会方便很多
关于Template的用法
一个方便于数据库交互的好东西,实测非常好用!!!
private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSoure());
//1.修改一条记录
@Test
public void test1(){
String sql="update user set name='迪丽热巴' where id=?";
int count = template.update(sql, 5);
System.out.println(count);
}
//2.添加一条记录
@Test
public void test2(){
String sql="insert into user values(null,?,?,?,?)";
int count = template.update(sql, "柳岩", "321", "Chengdu", "15123685749");
System.out.println(count);
}
//3.删除上一条记录
@Test
public void test3(){
String sql="delete from user where id=?";
int count = template.update(sql, 7);
System.out.println(count);
}
//4.查询id为1的记录,将其封装为Map集合
//注意:这个方法查询的结果集长度只能1,将列名作为key,将值作为value将这条记录封装进Map集合
@Test
public void test4(){
String sql="select * from user where id=?";
Map<String, Object> map = template.queryForMap(sql, 1);
System.out.println(map);
}
//5.查询所有记录,将其封装为List集合
//注意:将每一条记录封装为一个Map集合,再将Map集合装载到List集合中
@Test
public void test5(){
String sql="select * from user";
List<Map<String, Object>> list = template.queryForList(sql);
for (Map<String, Object> stringObjectMap : list) {
System.out.println(stringObjectMap);
}
//System.out.println(list);
}
//6.查询所有记录,将其封装为User对象的List集合
@Test
public void test6(){
String sql="select * from user";
List<User> list = template.query(sql, new BeanPropertyRowMapper<User>(User.class));
for (User user : list) {
System.out.println(user);
}
}
//7.查询总记录数
@Test
public void test7(){
String sql ="select count(id) from user";
Long total = template.queryForObject(sql, Long.class);
System.out.println(total);
}
外键关闭与开启
在对数据库操作的时候要是有外键会影响正常运行,我碰到后就把外键关了,再进行数据库操作,再把外键开启,下面是实操
//开启外键
public void startkey() {
String closeForeignKey = "SET @ORIG_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=1";
jt.update(closeForeignKey);
}
//关闭外键
public void closekey() {
String closeForeignKey = "SET @ORIG_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0";
jt.update(closeForeignKey);
}