所需要的包
ApplicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xsi:schemaLocation=" http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans">
<!--0.创建一个数据源对象 原生DriverManager 获取一个连接-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!--数据库驱动类-->
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<!--连接数据库的url-->
<property name="url" value="jdbc:mysql://localhost:3306/newtest?useSSL=false&characterEncoding=UTF-8"></property>
<!--连接数据库的账号-->
<property name="username" value="root"></property>
<!--连接数据库的密码-->
<property name="password" value="cy414ljh212,,,"></property>
</bean>
<!--1.想要使用SpringJDBC提供的操作,需要配置一个JDBC模板 JdbcTemplate-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!--需要给当前这个template对象配置一个数据源-->
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>
TestMain(增删改)
package test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
public class TestMain {
public static void main(String[] args){
BeanFactory factory=new ClassPathXmlApplicationContext("ApplicationContext.xml");
//1.跟Spring的bean工厂要一个JdbcTemplate对象
JdbcTemplate template=(JdbcTemplate) factory.getBean("jdbcTemplate");
//2.让template对象执行数据库操作
//增删改
String sql="insert into student values(?,?,?,?)";
template.update(sql,6,"德芙饿","女",10);
sql="delete from student where sid = ?";
template.update(sql,3);
sql="update student set sname = ? where sid = ?";
template.update(sql,"kloooo",4);
//查询
}
}
运行前
运行后
TestMain(查询)
package test;
import domain.Student;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
public class TestMain {
public static void main(String[] args) {
BeanFactory factory = new ClassPathXmlApplicationContext("ApplicationContext.xml");
//1.跟Spring的bean工厂要一个JdbcTemplate对象
JdbcTemplate template = (JdbcTemplate) factory.getBean("jdbcTemplate");
//2.让template对象执行数据库操作
//查询 一个列(变量存储) 一行数据(domain对象) 数据原有表格不存在 计算出来的(平均值、最大值 map集合)
String sql = "select sname from student where sid = ?";
String sname = template.queryForObject(sql, String.class, 1);
sql = "select sage from student where sid = ?";
Integer sage = template.queryForObject(sql, Integer.class, 1);
System.out.println(sname + "--" + sage);
sql = "select * from student where sid = ?";
Student student =(Student) template.queryForObject(sql, new RowMapper() {
@Override
public Object mapRow(ResultSet resultSet, int i) throws SQLException {
Student student = new Student();
student.setSid(resultSet.getInt("sid"));
student.setSname(resultSet.getString("sname"));
student.setSsex(resultSet.getString("ssex"));
student.setSage(resultSet.getInt("sage"));
return student;
}
}, 1);
System.out.println(student);
//查询多行记录
sql="select sname from student";
List list=template.queryForList(sql);//List<Map<String,Object>>
System.out.println(list);
sql="select * from student";
List<Student> studentList=template.query(sql, new RowMapper<Student>() {
@Override
public Student mapRow(ResultSet resultSet, int i) throws SQLException {
Student student = new Student();
student.setSid(resultSet.getInt("sid"));
student.setSname(resultSet.getString("sname"));
student.setSsex(resultSet.getString("ssex"));
student.setSage(resultSet.getInt("sage"));
return student;
}
});
System.out.println(studentList);
}
}