1.导包,导包的操作和导什么包就不说了。
2.创建Dao接口,把要执行的方法封装起来:
package Jdbc;
public interface UserDao {
void save(User u);
void delete(Integer id);
Jdbc.User find(Integer id);
}
3.创建一个类把接口的方法实现增,删,查
package Jdbc;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UserMethod implements UserDao{
private JdbcTemplate jt;
public void setJt(JdbcTemplate jt) {
this.jt = jt;
}
@Override
public void save(User u){
String sql = "insert into t_user values(null,?,?)";
jt.update(sql,u.getName(),u.getMoney());
}
@Override
public void delete(Integer id){
String sql = "delete from t_user where id = ?";
jt.update(sql,id);
}
@Override
public User find(Integer id) {
String sql = "select * from t_user where id = ?";
return jt.queryForObject(sql, new RowMapper<User>() {
@Override
public User mapRow(ResultSet resultSet, int i) throws SQLException {
User u = new User();
u.setId(resultSet.getInt("id"));
u.setName(resultSet.getString("name"));
u.setMoney(resultSet.getDouble("money"));
return u;
}
}, id);
}
}
4.再定义一个与数据库的数据相匹配的类。
package Jdbc;
public class User {
public void setId(Integer id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setMoney(Double money) {
this.money = money;
}
public Integer getId() {
return id;
}
public String getName() {
return name;
}
public Double getMoney() {
return this.money;
}
private Integer id;
private String name;
private Double money;
public void show(){
System.out.println(this.id);
System.out.println(this.name);
System.out.println(this.money);
}
}
5.配置xml文件,把这些类都放进容器里且调用spring自带的Jdbc模板,名字为applicationContext。
我的数据库端口虽然做了修改,但配置中不需要端口号,之前写了端口号一直报错。。。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1/exchange"></property>
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="user" value="root"></property>
<property name="password" value="123"></property>
</bean>
<bean name="user" class="Jdbc.User"></bean>
<bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean name="userMethod" class="Jdbc.UserMethod">
<property name="jt" ref="jdbcTemplate"></property>
</bean>
</beans>
6.最后新建一个实现方法的demo:
package Jdbc;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Demo {
public static void main(String args[]) {
ApplicationContext ac = new ClassPathXmlApplicationContext("Jdbc/applicationContext.xml");
UserMethod u = (UserMethod) ac.getBean("userMethod");
User us = (User) ac.getBean("user");
// us.setName("rose");
// us.setMoney(1000d);
// u.save(us);
// u.delete(1);
us = u.find(4);
us.show();
}
}
版权声明:本文为Arrogant_95原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。