package com.itzheng.jdbc.demo1;
import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(“classpath:applicationContext.xml”)
public class JdbcDemo2 {
//获取到xml当中的信息
@Resource(name = “jdbcTemplate”)
private JdbcTemplate jdbcTemplate;
@Test
public void demo2() {
jdbcTemplate.update(“insert into account values(null,?,?)”,“王宝强”,10000d);
}
}
2、C3P0的使用
(1)引C3P0的连接池的架包
(2)在applicationContext.xml当中配置C3P0连接池
- 运行测试类
3、在applicationContext.xml提取并配置JDBC的属性文件
(1)在src下创建jdbc.properties属性文件
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///spring4_test
jdbc.username=root
jdbc.password=root
(2)在Spring的配置文件当中引入属性文件:两种方式
- a、第一种方式:通过bean标签引入(很少)
- b、第二种方式:通过context标签引入:就会加重对应的类路径下的属性文件
<context:property-placeholder location=“classpath:jdbc.properties”/>
(3)在applicationContext.xml文件当中获取键和值
- 语法:
${键}
通过键获取引入的属性文件当中的值
- 测试
- 插入成功
(1)增删改
package com.itzheng.jdbc.demo1;
import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(“classpath:applicationContext.xml”)
public class JdbcDemo2 {
//获取到xml当中的信息
@Resource(name = “jdbcTemplate”)
private JdbcTemplate jdbcTemplate;
@Test
//保存操作
public void demo1() {
jdbcTemplate.update(“insert into account values(null,?,?)”,“王老七”,10000d);
}
@Test
//修改操作
public void demo2() {
jdbcTemplate.update(“update account set name = ?,money = ? where id = ?”,“张七”,20000d,6);
}
@Test
//删除操作
public void demo3() {
jdbcTemplate.update(“delete from account where id = ?”,6);
}
}
(2)查询操作
- a、查询某个属性
@Test
//查询操作
public void demo4() {
String queryForObject = jdbcTemplate.queryForObject(“select name from account where id = ?”,String.class ,5);
System.out.println(queryForObject);
}
- b、统计个数
-
c、查询返回对象
-
Account对象封装
package com.itzheng.jdbc.demain;
public class Account {
private Integer id;
private String name;
private Double money;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getMoney() {
return money;
}
public void setMoney(Double money) {
this.money = money;
}
public Account() {
// TODO Auto-generated constructor stub
}
public Account(Integer id, String name, Double money) {
super();
this.id = id;
this.name = name;
this.money = money;
}
@Override
public String toString() {
return “Account [id=” + id + “, name=” + name + “, money=” + money + “]”;
}
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://img-blog.csdnimg.cn/img_convert/18669a03107faf5ef4507c1524cacfe2.jpeg)
技术学习总结
学习技术一定要制定一个明确的学习路线,这样才能高效的学习,不必要做无效功,既浪费时间又得不到什么效率,大家不妨按照我这份路线来学习。
最后面试分享
大家不妨直接在牛客和力扣上多刷题,同时,我也拿了一些面试题跟大家分享,也是从一些大佬那里获得的,大家不妨多刷刷题,为金九银十冲一波!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
这份路线来学习。
[外链图片转存中…(img-NTISQlBj-1711859873116)]
[外链图片转存中…(img-PvQe5XM7-1711859873116)]
[外链图片转存中…(img-QHqZsrSX-1711859873116)]
最后面试分享
大家不妨直接在牛客和力扣上多刷题,同时,我也拿了一些面试题跟大家分享,也是从一些大佬那里获得的,大家不妨多刷刷题,为金九银十冲一波!
[外链图片转存中…(img-upZxCnku-1711859873117)]
[外链图片转存中…(img-T7twRKcb-1711859873117)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!