您当前的位置: 首页 >  spring

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Spring09---spring整合JDBC_01_实现增删改查

宝哥大数据 发布时间:2017-09-02 00:26:02 ,浏览量:0

spring整合JDBC_01_实现增删改查 1、导入Spring依赖和数据库的驱动包

这里写图片描述

2、导入数据源的包(DBCP, C3P0)

这里写图片描述

3、在SpringBean.xml中创建DataSource数据源

不知道如何创建,到官网文档搜索DBCP config 这里写图片描述

4、创建一个jdbc.properties文件, 设置数据库连接信息
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_jdbc_test
jdbc.root=root
jdbc.password=root
5、在SpringBean.xml中导入相应的Properties文件

完整的SpringBean.xml
  



   
   
   
   


    
        
        
        
        
    

    

6、创建User类

package com.chb.spring_jdbc.model;
public class User{
    private int id;
    private String username;
    private String password;
    private String nickname;

    public User(String username, String password, String nickname) {
        super();
        this.username = username;
        this.password = password;
        this.nickname = nickname;
    }

    public User() {}




    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getNickname() {
        return nickname;
    }
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }
}
7、在数据库中创建对应的表
CREATE DATABASE spring_jdbc_test;
USE spring_jdbc_test;
CREATE TABLE t_user(
id INT(10) AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50), 
`password` VARCHAR(20),
nickname VARCHAR(50)
);
8、创建Dao接口
package com.chb.spring_jdbc.dao;

import java.util.List;

import com.chb.spring_jdbc.model.User;

public  interface IUserDao{
    public void add(User user);
    public void update(User user);
    public void delete(int id);
    public void load(int id);
    public List list(String sql);


}
9、创建Dao的实现了UserDao,并创建一个JdbcTemplate对象,为了方便完成对数据库的操作。 10、为UserDao注入DataSource, 并创建JdbcTemplate

这里写图片描述

出现hibernate_sequence的表 将id生成策略改为@GeneratedValue(strategy = GenerationType.IDENTITY) 11、完成数据对象的添加

报错:The type org.springframework.dao.DataAccessException cannot be resolved. It is indirectly referenced from required .class files 原因:缺少spring-tx-4.3.8.RELEASE.jar

添加对象

    public void add(User user) {
        jdbcTemplate.update("INSERT INTO t_user (username, password, nickname) VALUE (?, ?, ?)", 
                user.getUsername(), user.getPassword(), user.getNickname());

    }
修改对象

    public void update(User user) {
        jdbcTemplate.update("update t_user set username=?, password=?, nickname=?", user.getUsername(),user.getPassword(), user.getNickname());
    }
删除对象

    public void delete(int id) {
        jdbcTemplate.update("delete from t_user where id=?", 1);
    }
2.1、创建一个Group 类, 与User对象为一对多
package com.chb.spring_jdbc.model;

public class Group {
    private int id;
    private String groupName;
    public String getGroupName() {
        return groupName;
    }
    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
}
2.2、创建GroupDao 2.2.1、创建IGroupDao接口
package com.chb.spring_jdbc.dao;
import com.chb.spring_jdbc.model.Group;
public interface IGroupDao {
    public void addGroup(Group group) ;
}
2.2.2、创建实现对象GroupJdbcDao

这里写图片描述

2.3、完成Group的添加,

这里写图片描述

虽然添加成功, 但是我们不能获取自增id, 可以到官网搜索auto-gen, 获取主键的方法。

这里写图片描述

测试

这里写图片描述

三、关联对象添加, 通过上面的方法,我们可以获取Group id , 这个为插入关联对象User, 的外键插入gid提供方便 修改UserDao的添加方法, 加入外键

这里写图片描述

测试
package com.chb.spring_jdbc.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.chb.spring_jdbc.dao.GroupJdbcDao;
import com.chb.spring_jdbc.dao.UserDao;
import com.chb.spring_jdbc.model.Group;
import com.chb.spring_jdbc.model.User;


public class Test {
    @org.junit.Test
    public void test01() {
        ApplicationContext context = new ClassPathXmlApplicationContext("SpringBean.xml");

        UserDao userDao = (UserDao) context.getBean("userJdbcDao");

        GroupJdbcDao groupJdbcDao = (GroupJdbcDao) context.getBean("groupJdbcDao");
        Group group = new Group();
        group.setGroupName("CHB");
        groupJdbcDao.addGroup(group);
        //获取group id
        System.out.println(group.getId());


        //添加user
        User user = new User("chb", "123456", "chbHome");
        user.setGroup(group);
        userDao.add(user);


    }
}
结果添加成功

这里写图片描述

关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0398s