SpringJDBC
spring对数据库的操作通过JDBCTemplate类完成增加、删除、修改和查询的
用户信息User.class
public class User {
private Integer userid;
private String username;
private String password;
setter、getter方法
public String toString() {
return "User [userid=" + userid + ", username=" + username
+ ", password=" + password + "]";
}
}
对用户信息表接口,添加、修改、删除、查询等方法
public interface UserDao {
public int addUser(User user);
public int updateUser(User user);
public int deleteUserById(int id);
public User findUserById(int id);
//List接口集合
public List<User> findAllUser();
}
用户信息表具体操作的实现
public class UserDaoImpl implements UserDao{
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
//操作数据库
//添加
public int addUser(User user) {
String sql="insert into t_user(username,password) value(?,?)";
Object[] obj=new Object[]{
user.getUsername(),
user.getPassword()
};
int flag=this.jdbcTemplate.update(sql, obj);
return flag;
}
//修改
public int updateUser(User user) {
String sql="update t_user set username=?"+",password=?where userid=?";
Object[] obj=new Object[]{
user.getUsername(),
user.getPassword(),
user.getUserid()
};
int flag=this.jdbcTemplate.update(sql, obj);
return flag;
}
//删除
public int deleteUserById(int id) {
String sql="delete from t_user where userid=?";
int flag=this.jdbcTemplate.update(sql, id);
return flag;
}
//单条查找
public User findUserById(int id) {
String sql="select * from t_user where userid=?";
//将结果集通过反射机制映射对象
RowMapper<User> rowMapper=ParameterizedBeanPropertyRowMapper.newInstance(User.class);
//返回单行记录
return this.jdbcTemplate.queryForObject(sql, rowMapper, id);
}
//查找全部
public List<User> findAllUser() {
String sql="select * from t_user";
RowMapper<User> rowMapper=ParameterizedBeanPropertyRowMapper.newInstance(User.class);
//返回多行记录
return this.jdbcTemplate.query(sql, rowMapper);
}
}
beans.xml
<!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 数据库驱动 -->
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<!-- 连接数据库URL 数据库名test-->
<property name="url" value="jdbc:mysql://localhost/test" />
<!-- 用户名 -->
<property name="username" value="root"/>
<!-- 密码 -->
<property name="password" value="123"/>
</bean>
<!-- 配置JDBC模板 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!-- 默认 -->
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 将jdbcTemplate注入到UserDao实现类 -->
<bean id="userDao" class="jdbc1.UserDaoImpl">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
创建test数据库后
public class Test {
public static void main(String[] args) {
new Test().demo();
}
public void demo(){
String xmlpath="/beans.xml";
ApplicationContext applicationContext=new ClassPathXmlApplicationContext(xmlpath);
JdbcTemplate jdTemplate=(JdbcTemplate)applicationContext.getBean("jdbcTemplate");
//创建数据表t_user
jdTemplate.execute("create table t_user("+
"userid int primary key auto_increment,"+
"username varchar(30),"+
"password varchar(20))");
//UserDao引用UserDaoImpl
UserDao userDao=(UserDao)applicationContext.getBean("userDao");
//-----------------------------------
User user=new User();
user.setUsername("jack");
user.setPassword("123456");
int flag1=userDao.addUser(user);
if(flag1==1){
System.out.println("添加用户成功");
}else{
System.out.println("添加用户失败");
}
//-----------------------------------
user.setUserid(1);
user.setUsername("tom");
user.setPassword("111");
int flag2=userDao.updateUser(user);
if(flag2==1){
System.out.println("修改成功");
}else{
System.out.println("修改失败");
}
//-----------------------------------
int flag3=userDao.deleteUserById(1);
if(flag3==1){
System.out.println("删除成功");
}else{
System.out.println("删除失败");
}
//-----------------------------------
user=userDao.findUserById(2);
System.out.println("按行查找:"+user);
//-----------------------------------
List<User> users=userDao.findAllUser();
System.out.println("查找所有:");
for(User u:users){
System.out.println(u);
}
}
}