Spring Jdbc 数据库连接

发布于:2022-12-28 ⋅ 阅读:(440) ⋅ 点赞:(0)

创建一个配置文件 因为JdbcTemplate需要和连接池一起用

    我这里用的是一个Druid连接池
    导包
    commons-logging-1.2.jar
    druid-1.0.9.jar
    mysql-connector-java-8.0.16 .jar
    spring-beans-5.0.0.RELEASE
    spring-core-5.0.0.RELEASE
    spring-jdbc-5.0.0.RELEASE
    spring-tx-5.0.0.RELEASE
    创建一个druid.Properties文件
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql:///db1?serverTimezone=UTC
username=root
password=root
initialSize=5
maxActive=10
maxWait=3000
然后创建一个工具类
public class JDBCUtils {
private static DataSource ds;
static {
try {
Properties pro=new Properties();
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
ds= DruidDataSourceFactory.createDataSource(pro);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
public static DataSource getDataSource()
{
return ds;
}
}

测试

public class SpringJdbcDemo {
static JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource());
@Test
// 修改emp表id为1 赵彩霞 age 为 1000
public void text1()
{
template=new JdbcTemplate(JDBCUtils.getDataSource());
String sql="update stu set age=? where id=?";
template.update(sql,1000,1);
}
//2. 添加一条记录
@Test
public void text2()
{
String sql="insert into stu values(?,?,?)";
template.update(sql,7,"郑航",22);
}
//3. 删除刚才添加的记录
@Test
public void text3()
{
String sql="delete from stu where id=?";
template.update(sql,7);
}
//4. 查询id为1的记录,将其封装为Map集合
@Test
public void text4()
{
String sql="select * from stu where id=?";
Map<String, Object> map = template.queryForMap(sql, 1);
System.out.println(map);
}
//5. 查询所有记录,将其封装为List
@Test
public void text5()
{
String sql="select * from stu";
List<Map<String, Object>> list = template.queryForList(sql);
for (Map<String, Object> map : list) {
System.out.println(map);
}
}
//6. 查询所有记录,将其封装为Student对象的List集合
@Test
public void text6()
{
String sql="select * from stu";
List<Student> lis = template.query(sql, new BeanPropertyRowMapper<Student>(Student.class));
for (Student li : lis) {
System.out.println(li);
}
}
//7. 查询总记录数
@Test
public void text7()
{
String sql="select count(id) from stu";
Long aLong = template.queryForObject(sql, Long.class);
System.out.println(aLong);
}
}
Student类就
private int id;
private String name;
private int age;
三个字段
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到