spring-DAO-06
2021-03-11 15:30
标签:context ase 细节 持久性 jdb override 通过 nal ide DAO(Data Access Object数据访问对象) 优点: DAO属于O/R Mapping技术的一种实现。 Spring DAO 提供了一套抽象的DAO类,这有利于以统一的方式操作各种DAO技术,如:JDO、JDBC等。 spring dao 提供的抽象类: 在applicationContext.xml中,配置数据源,并注入连接参数。 使用类org.springframework.jdbc.datasource.DriverManagerDataSource, 将数据源注入数据库操作DAO类 创建接口 定义实体类对象 编写接口实现、数据库操作DAO类 加载applicationContext.xml step1:在applicationContext.xml中,配置数据源,注入连接参数 step2:将数据源注入数据库操作DAO类 step3:创建接口 step4:定义实体类对象 step5:编写接口实现、数据库操作DAO类 step6:加载applicationContext.xml spring-DAO-06 标签:context ase 细节 持久性 jdb override 通过 nal ide 原文地址:https://www.cnblogs.com/2020-6-12/p/14126839.htmlspring-DAO
DAO 模式
Spring DAO
spring dao持久化流程
package springdao;
public interface UserDAOImpl {
//向数据表tb_user中添加数据
public abstract void inserUser(User user);
}
package springdao;
public class User {
private Integer id;//唯一性标识
private String name;
private String password;
private Integer age;
private String sex;
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 String getPassword() {return password;}
public void setPassword(String password) {this.password = password;}
public Integer getAge() {return age;}
public void setAge(Integer age) {this.age = age;}
public String getSex() {return sex;}
public void setSex(String sex) {this.sex = sex;}
}
package springdao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.sql.DataSource;
public class UserDAO implements UserDAOImpl {
private DataSource dataSource;//注入DataSource
public DataSource getDataSource() {
return dataSource;
}
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
//向数据表tb_user中添加数据
@Override
public void inserUser(User user) {
String name = user.getName();//获取姓名
Integer age = user.getAge();//获取年龄
String sex = user.getSex();//获取性别
Connection conn = null;//定义Connection
PreparedStatement ps = null;//定义Statement
try {
conn = dataSource.getConnection();//获取数据库连接
String sql="INSERT INTO tb_user(name,age,sex) VALUES(?,?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1,name);
ps.setInt(2, age);
ps.setString(3,sex);
ps.execute();//添加数据的SQL语句
} catch (SQLException e) {
e.printStackTrace();
}
finally {
if(ps != null) {
try {
ps.close();//关闭Statement对象
}
catch(SQLException e) {
e.printStackTrace();
}
}
if(conn != null) {
try {
conn.close();//关闭数据库连接
}
catch(SQLException e) {
e.printStackTrace();
}
}
}
}
}
package example5;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Manager {
public static void main(String[] args) {
//装载配置文件
ApplicationContext factory = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = new User();//实例化User对象
user.setName("springdao");//设置姓名
user.setAge(new Integer(15));//设置年龄
user.setPassword("123456");
user.setSex("男");//设置性别
UserDAO userDAO = (UserDAO) factory.getBean("userDAO");//获取UserDAO
userDAO.inserUser(user);//执行添加方法
System.out.println("数据添加成功!!!");
}
}
上一篇:算法基础<二>