【SpringJDBC】データベース開発:基本操作(追加、削除、変更)



データベース開発:基本操作(追加、削除、変更)

①準備

  • 1.関連するjarパッケージを導入します。
    ここに画像の説明を挿入します

  • 2.Spring構成ファイルでデータベース接続プールを構成します。
    ここに画像の説明を挿入します

  • 3. JdbcTemplateオブジェクトを構成し、データソースを挿入します
    ここに画像の説明を挿入します

  • 4.サービスクラスを作成し、daoクラスを作成し、daoにjdbcTemplateオブジェクトを挿入します
    ここに画像の説明を挿入します

トップに戻る


②データベース操作-追加[挿入] update()

1.データベースに対応するエンティティクラスを作成します

  • データベーステーブルを作成するt_user
    ここに画像の説明を挿入します
  • ではUser类t_user表各フィールドをクラスの属性として設定して、後続の操作での値の割り当てと取得を容易にします。
package JDBC.entry;

public class User {
    
    

    // 创建字段对应属性
    private String useId;
    private String userName;
    private String uststus;

    // set\get方法
    public String getUseId() {
    
    
        return useId;
    }

    public void setUseId(String useId) {
    
    
        this.useId = useId;
    }

    public String getUserName() {
    
    
        return userName;
    }

    public void setUserName(String userName) {
    
    
        this.userName = userName;
    }

    public String getUststus() {
    
    
        return uststus;
    }

    public void setUststus(String uststus) {
    
    
        this.uststus = uststus;
    }
}

2.サービスとダオを書く

  • (1)daoにデータベース操作を追加します(インターフェース実装クラス書き換え固有の実装)

  • (2)オブジェクトを呼び出す特定の実装がJdbcTemplateでupdate()実装された操作メソッドを追加する場合
    ここに画像の説明を挿入します

    • 最初のパラメーター:sql 语句
    • 2番目のパラメーター:可変パラメーター、設定 sql 语句值
  • (3)SQL addステートメント:insert into 表名 values (value1,value2,value3)

@Repository
public class UserDaoImpl implements UserDao {
    
    

    // 注入JdbcTemplate对象
    @Autowired
    private JdbcTemplate jdbcTemplate;

    // 重写add方法
    @Override
    public void add(User user) {
    
    
        // sql语句
        String sql = "insert into t_user values(?,?,?)";
        // 可变数组保存sql语句插入值
        Object[] args = {
    
    user.getUseId(), user.getUserName(), user.getUststus()};
        // 调用方法实现数据库信息插入
        int update = jdbcTemplate.update(sql,args);
        System.out.println("插入操作影响的记录数:"+ update);

    }
}
  • 処理する:
    ここに画像の説明を挿入します

3.テスト

  • テストクラスでは、userService对象取得した後、addUser()メソッドを呼び出してユーザーオブジェクトを渡します。その前に、まずユーザーオブジェクトを作成し、user.setXxx()メソッドを介して各フィールドに値を割り当てます。
@org.junit.Test
public void test_jdbc(){
    
    
    try {
    
    
        // 1.获取配置文件对象
        ApplicationContext context = new ClassPathXmlApplicationContext("JDBC/bean_jdbc.xml");
        UserService userService = context.getBean("userService",UserService.class);
        // 创建user对象,设置属性
        User user = new User();
        // user.setUseId("1");
        user.setUseId("2");
        user.setUserName("Vae");
        // user.setUststus("creating");
        user.setUststus("singing");
        // 调用方法
        userService.addUser(user);
    } catch (Exception e){
    
    
        e.printStackTrace();
    }
}

ここに画像の説明を挿入します
ここに画像の説明を挿入します
トップに戻る


③データベース操作-削除[削除] update()

1.サービスとダオを書く

  • レコードの削除はレコードを介して実行できるidため、deleteUser()渡されるパラメーターは削除されるレコードidです。
  • SQL削除ステートメント:delete from 表名 where 字段1=value1
public interface UserDao {
    
    
    // 添加用户的方法
    void add(User user);
    // 修改用户的方法
    void updateUser(User user);
    // 删除用户记录
    void deleteUser(String id);
}
@Service
public class UserService {
    
    
    // 注入UserDao对象属性
    @Autowired
    private UserDao userDao;

    // 添加用户
    public void addUser(User user){
    
    
        userDao.add(user);
    }

    // 修改用户
    public void updateUser(User user){
    
    
        userDao.updateUser(user);
    }
    // 删除用户
    public void deleteUser(String id){
    
    
        userDao.deleteUser(id);
    }
}

2.データベースレコードの削除を具体的に実装するための実装クラスを作成します

@Repository
public class UserDaoImpl implements UserDao {
    
    

    // 注入JdbcTemplate对象
    @Autowired
    private JdbcTemplate jdbcTemplate;

    // 重写add方法
    @Override
    public void add(User user) {
    
    
        // sql语句
        String sql = "insert into t_user values(?,?,?)";
        // 可变数组保存插入值
        Object[] args = {
    
    user.getUseId(), user.getUserName(), user.getUststus()};
        // 调用方法实现数据库信息插入
        int insert = jdbcTemplate.update(sql,args);
        System.out.println("插入操作影响的记录数:"+ insert);

    }
    // 重写updateuser方法
    @Override
    public void updateUser(User user) {
    
    
        // sql语句
        String sql = "update t_user set username=?,ustatus=? where user_id=?";
        // 可变数组保存修改值
        Object[] args = {
    
    user.getUserName(),user.getUststus(),user.getUseId()};
        // 调用方法实现数据库信息修改
        int update = jdbcTemplate.update(sql,args);
        System.out.println("插入操作影响的记录数:"+ update);
    }
    // 删除用户记录
    @Override
    public void deleteUser(String id) {
    
    
        // sql语句
        String sql = "delete from t_user where user_id=?";
        // 调用方法实现数据库信息删除
        int delete = jdbcTemplate.update(sql,id;
        System.out.println("插入操作影响的记录数:"+ delete);
    }
}

3.テストクラス

@org.junit.Test
public void test_jdbc(){
    
    
    try {
    
    
        ApplicationContext context = new ClassPathXmlApplicationContext("JDBC/bean_jdbc.xml");
        UserService userService = context.getBean("userService",UserService.class);
        // 创建user对象,设置属性
        User user = new User();
        user.setUseId("3");
        user.setUserName("Vae");
        user.setUststus("dancing");
        // 调用方法增加用户
        userService.addUser(user);
        // 调用方法删除用户
        userService.deleteUser("2");
    } catch (Exception e){
    
    
        e.printStackTrace();
    }
}

ここに画像の説明を挿入します

ここでは、最初にレコードを挿入し、次にテーブル内のID 2のレコードを削除します。これで、テーブル内の残りのレコードは1、3レコードになります。
ここに画像の説明を挿入します

トップに戻る


④データベース操作-変更[更新] update()

1.サービスとダオを書く

  • ユーザー情報の変更を実現する際には、IDによる変更戦略も採用しています。
  • SQL変更ステートメント:update 表名 set 字段1=value1,字段2=value2 where 字段3=value3
public interface UserDao {
    
    
    // 添加用户的方法
    void add(User user);
    // 修改用户的方法
    void updateUser(User user);
}
@Service
public class UserService {
    
    
    // 注入UserDao对象属性
    @Autowired
    private UserDao userDao;

    // 添加用户
    public void addUser(User user){
    
    
        userDao.add(user);
    }

    // 修改用户
    public void updateUser(User user){
    
    
        userDao.updateUser(user);
    }
}

2.データベースの変更を実装するための実装クラスを記述します

@Repository
public class UserDaoImpl implements UserDao {
    
    

    // 注入JdbcTemplate对象
    @Autowired
    private JdbcTemplate jdbcTemplate;

    // 重写add方法
    @Override
    public void add(User user) {
    
    
        // sql语句
        String sql = "insert into t_user values(?,?,?)";
        // 可变数组保存插入值
        Object[] args = {
    
    user.getUseId(), user.getUserName(), user.getUststus()};
        // 调用方法实现数据库信息插入
        int insert = jdbcTemplate.update(sql,args);
        System.out.println("插入操作影响的记录数:"+ insert);

    }
    // 重写updateuser方法
    @Override
    public void updateUser(User user) {
    
    
        // sql语句
        String sql = "update t_user set username=?,ustatus=? where user_id=?";
        Object[] args = {
    
    user.getUserName(),user.getUststus(),user.getUseId()};
        // 调用方法实现数据库信息修改
        int update = jdbcTemplate.update(sql,args);
        System.out.println("插入操作影响的记录数:"+ update);
    }
}

3.テストクラス

@org.junit.Test
public void test_jdbc(){
    
    
    try {
    
    
        ApplicationContext context = new ClassPathXmlApplicationContext("JDBC/bean_jdbc.xml");
        UserService userService = context.getBean("userService",UserService.class);
        // 创建user对象,设置属性
        User user = new User();
        // 调用方法修改用户
        user.setUseId("3"); // 根据id进行修改
        user.setUserName("VAE");
        user.setUststus("singing");
        userService.updateUser(user);
    } catch (Exception e){
    
    
        e.printStackTrace();
    }
}

ここに画像の説明を挿入します
ユーザー情報をid = 3変更しますusernamechange 大写statuschange singing
ここに画像の説明を挿入します

トップに戻る


注:
データベース・エンティティクラス1の記事は修正する必要があります。再命名することに対応するフィールドのプロパティをuserIduserName(これはuserStatus変更するクエリのニーズにも使用されています)。
2.データベースで設計されたテーブルt_userも次のように変更する必要があり
ここに画像の説明を挿入します
ます。私のブログを参照してください:jdbcTemplate.queryXxx()戻り値はnullです。

おすすめ

転載: blog.csdn.net/qq_45797116/article/details/114295928