import java.util.Map;
@Repository
public class BookDAO {
@Autowired
private JdbcOperations jdbcOperations;
public List<Map<String, Object>> getToList() {
List<Map<String, Object>> maps = jdbcOperations.queryForList(“select * from book where id > 0”);
return maps;
}
public Map<String, Object> getToMap() {
String sql = “select * from book where id > ?;”;
Map<String, Object> ret = jdbcOperations.queryForMap(sql,2);
return ret;
}
public Book getToBook() {
String sql = “select * from book where id > 2;”;
Book book = jdbcOperations.queryForObject(
sql, (rs, rowNum) -> new Book(rs.getInt(1), rs.getString(2), rs.getFloat(3))
);
return book;
}
public void create(String bookname, int price) {
String sql = " insert into book (bookname,price) values (?,?)";
int javaWeb = jdbcOperations.update(sql, bookname, price);
if (javaWeb > 0) {
System.out.println(“数据插入成功”);
}
}
}
jdbcTemplate包 各类 代码
JDBCTemplateConfig 类
package the_template_data_jpa;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
import java.beans.PropertyVetoException;
@Configuration
public class JDBCTemplateConfig {
@Bean
DataSource dataSource (Environment env) throws PropertyVetoException {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass(env.getProperty(“jdbc.driver”));
dataSource.setJdbcUrl(env.getProperty(“jdbc.url”));
dataSource.setUser(env.getProperty(“jdbc.user”));
dataSource.setPassword(env.getProperty(“jdbc.password”));
return dataSource;
}
@Bean
JdbcTemplate jdbcTemplate (DataSource dataSource){
return new JdbcTemplate(dataSource);
}
}
配置:扫描
package the_template_data_jpa;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;
@Configuration //声明当前配置类
@ComponentScan(basePackages = “the_template_data_jpa”) // 扫描当前包 使用 spring 注解
@PropertySource(“classpath:application.properties”)//加载 资源文件
@Import({JDBCTemplateConfig.class})//扫描 使用 jpa 注解的接口
public class SpringConfig {
}
jdbc.properties 资源文件:
jdbc.driver=org.mariadb.jdbc.Driver
jdbc.url=jdbc:mariadb://localhost:3306/stu
jdbc.user=root
jdbc.password=666666
测试:
package the_template_data_jpa;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
AnnotationConfigApplicationContext Ioc = new AnnotationConfigApplicationContext(SpringConfig.class);
BookDAO bean = Ioc.getBean(BookDAO.class);
List<Map<String, Object>> toList = bean.getToList();
System.out.println(toList);
}
}
结果:
源码地址:https://github.com/nongzihong/Spring_Data_jps_Hibernate
1 package com.oukele.jdbcTemplate;
2
3 import com.mchange.v2.c3p0.ComboPooledDataSource;
4 import org.springframework.context.annotation.Bean;
5 import org.springframework.context.annotation.ComponentScan;
6 import org.springframework.context.annotation.Configuration;
7 import org.springframework.context.annotation.PropertySource;
8 import org.springframework.core.env.Environment;
9 import org.springframework.jdbc.core.JdbcTemplate;
10 import org.springframework.jdbc.datasource.DataSourceTransactionManager;
11 import org.springframework.transaction.PlatformTransactionManager;
12 import org.springframework.transaction.support.TransactionTemplate;
13
14 import javax.sql.DataSource;
15 import java.beans.PropertyVetoException;
16
17 @Configuration
18 @PropertySource(value = “classpath:jdbc.properties”)//加载资源
19 @ComponentScan(basePackages = “com.oukele.jdbcTemplate”)//扫描 spring 注解
20 public class JDBCTemplateConfig {
21
22 //数据源
23 @Bean
24 DataSource dataSource(Environment env) throws PropertyVetoException {
25 ComboPooledDataSource dataSource = new ComboPooledDataSource();
26 dataSource.setDriverClass(env.getProperty(“jdbc.driver”));
27 dataSource.setJdbcUrl(env.getProperty(“jdbc.url”));
28 dataSource.setUser(env.getProperty(“jdbc.user”));
29 dataSource.setPassword(env.getProperty(“jdbc.password”));
30 return dataSource;
31 }
32 //jdbc 模板
33 @Bean
34 JdbcTemplate jdbcTemplate (DataSource dataSource){
35 return new JdbcTemplate(dataSource);
36 }
37 //事务管理器
38 @Bean
39 DataSourceTransactionManager transactionManager(DataSource dataSource){//事务管理
40 return new DataSourceTransactionManager(dataSource);
41 }
42 //事务模板
43 @Bean
44 TransactionTemplate transactionTemplate(PlatformTransactionManager platformTransactionManager){
45 return new TransactionTemplate(platformTransactionManager);
46 }
47
48
49
50
51
52 }
UserDao类
package com.oukele.jdbcTemplate;
import com.oukele.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcOperations;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.support.TransactionTemplate;
import java.util.List;
import java.util.Map;
@Repository
public class UserDao {
@Autowired
private JdbcOperations jdbcOperations;
@Autowired
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
写在最后
可能有人会问我为什么愿意去花时间帮助大家实现求职梦想,因为我一直坚信时间是可以复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。
上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源
入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-tFbQ4TKO-1711786575961)]
写在最后
可能有人会问我为什么愿意去花时间帮助大家实现求职梦想,因为我一直坚信时间是可以复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。
[外链图片转存中…(img-GxJSuTCq-1711786575961)]
[外链图片转存中…(img-zqRl9zkZ-1711786575962)]
上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源