//配置完xml文件后,在测试类中使用注解来直接获取xml,这样一来就可以快速获取xml对象(使用自动装配) 只有基于注解配置时才可以使用这个方法
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:xml/beans.xml")
//通过jdbcTemplate来写sql语句
//关于jdbcTemplate的原始使用方法(底层)
//创建jdbc模板对象
JdbcTemplate jdbcTemplate = new JdbcTemplate();
//创建数据源对象
DriverManagerDatasource dataSource = new DriverManagerDatasource();
//设置数据源信息
dataSource.setUrl("jdbc:mysql://localhost:3306/数据库名");
dataSource.setUsername("root");
dataSource.setPassword("password");
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
jdbcTemplate.setDataSource(dataSource);
//然后就可以使用jdbcTemplate来使用数据库,也可以使用构造方法传递数据源信息
//实际使用中,在Dao层写jdbcTemplate,用set方法注入
//在xml中配置
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/bookstore?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"></property>
<property name="username" value="root"></property>
<property name="password" value="password"></property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
//通过jdbcTemplate查询所有User信息
//先定义一个RowMapper类
class UserRowMapper implements Rowmapper<User>{
//重写方法(ResultSet resultSet,int i)throws...{
User user = new User();
//使用set方法,将查询到的数据存储到创建的对象中
user.setId(resultSet.getInt("id"));
user.setxxxxxxxxgetString("userName")
}}
//然后再Dao层中的查询方法中
List<User> userList = jdbcTemplate.query("select * from 表名",new UserRowMapper());
return userList;
//返回集合对象后,在测试类中遍历集合对象
for(User user :userByAll){
System.out.println(user);}
//如果是查询一个数据,只需要对sql语句修改,然后返回userList.get(0),就可以只返回一个数据而不是集合
//使用注解配置事物时,操作相同,用@Autowired注解配置在jdbcTemplate上(Dao)层中