Java数据库连接是一种用于执行SQL语句的Java API,与数据库建立连接,发送操作数据库的语句并处理结果。
<>强增加依赖强>
修改砰的一声。xml:将dependecies修改为如下两个
& lt; dependencies> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-jdbc & lt;/dependency> & lt; dependency> & lt; groupId> com.h3database & lt; artifactId> h3 & lt;/dependency> & lt;/dependencies> >之前<>强创建客户。java类强>
包com.example.kane.Model; 公共类客户{ 私人长id; 私人字符串firstName、lastName; 公共客户(字符串长id、字符串firstName、lastName) { 这一点。id=id; 这一点。firstName=firstName; 这一点。lastName=姓; } @Override 公共字符串toString () { 返回String.format ( “客户id=% d, firstName=' % s ', lastName=' % s ']”, id、firstName、lastName); }//读取器,setter为了简便起见,我们省略了 } >之前<>强修改应用类强>
包com.example.kane; 进口org.springframework.beans.factory.annotation.Autowired; 进口org.springframework.boot.CommandLineRunner; 进口org.springframework.boot.SpringApplication; 进口org.springframework.boot.autoconfigure.SpringBootApplication; 进口org.springframework.boot.web.client.RestTemplateBuilder; 进口org.springframework.context.annotation.Bean; 进口org.springframework.jdbc.core.JdbcTemplate; 进口org.springframework.scheduling.annotation.EnableScheduling; 进口java.util.Arrays; 进口并不知道; 进口java.util.stream.Collectors; 进口org.slf4j.Logger; 进口org.slf4j.LoggerFactory; 进口org.springframework.web.client.RestTemplate; 进口com.example.kane.Model.Customer; @SpringBootApplication//@EnableScheduling 公共类RestfulWebService1Application实现CommandLineRunner { 私有静态最终记录器日志=LoggerFactory.getLogger (RestfulWebService1Application.class); 公共静态void main (String参数[]){ SpringApplication.run (RestfulWebService1Application.class, args); } @ autowired JdbcTemplate JdbcTemplate; @Override 公共空间运行(字符串…字符串){抛出异常 log.info(“创建表”); jdbcTemplate。执行(“删除表的客户如果存在”); jdbcTemplate。(创建表的客户(+执行 “id串行、first_name VARCHAR (255), last_name VARCHAR (255)) ");//整个名字的数组分成一个姓/名数组 List<对象[]比;splitUpNames=数组。asList(“吴宇森”、“杰夫院长”、“乔什布洛赫”,“Josh长”).stream () . map(名称→的名字。分割(" ")) .collect (Collectors.toList ());//使用Java 8流打印列表的每个元组 splitUpNames。forEach(名称→log.info (String.format (“% s % s插入客户记录”,名字[0],[1])));//使用JdbcTemplate batchUpdate操作批量加载数据 jdbcTemplate。batchUpdate(“插入客户(first_name、last_name)值(& # 63;& # 63;)”,splitUpNames); log.info(“查询客户记录first_name=敖芸恕?”); jdbcTemplate.query ( “选择id, first_name、last_name从客户那里first_name=& # 63;”,新对象[]{“杰克”}, (rs, rowNum)→新客户(rs.getLong (" id "), rs.getString (“first_name”), rs.getString (“last_name”)) )。forEach(客户→log.info (customer.toString ())); } }运行项目看结果
2019-03-01 14:19:52.078 信息7436 - - - - - -,restartedMain] c.e.kane.RestfulWebService1Application ,,:创建表
2019-03-01 14:19:52.086 信息7436 - - - - - -,restartedMain] com.zaxxer.hikari.HikariDataSource ,,,,,:HikariPool-1 -开始……
2019-03-01 14:19:52.392 信息7436 - - - - - -,restartedMain] com.zaxxer.hikari.HikariDataSource ,,,,,:HikariPool-1 -开始完成。
2019-03-01 14:19:52.429 信息7436 - - - - - -,restartedMain] c.e.kane.RestfulWebService1Application ,,:插入客户记录吴宇森
2019-03-01 14:19:52.430 信息7436 - - - - - -,restartedMain] c.e.kane.RestfulWebService1Application ,,杰夫:插入客户纪录院长SpringBoot使用JDBC获取相关的数据方法