练习最原始的JDBC的基本操作

User.class

package com.humman.pojo;

public class User {
    private Integer userId;

    private String username;

    private Integer userAge;

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getUserAge() {
        return userAge;
    }

    public void setUserAge(Integer userAge) {
        this.userAge = userAge;
    }

    @Override
    public String toString() {
        return "User [userId=" + userId + ", username=" + username + ", userAge=" + userAge + "]";
    }

}

UserService.class

package com.humman.service;

import java.util.List;

import com.humman.pojo.User;

public interface UserService {
    /**
     * 查询所有列表信息
     * @return
     */
    List<User> queryAll();

    /**
     * 插入User
     * @param user
     * @return
     */
    int insertUser(User user);
    /**
     * 更新User信息
     * @param user
     * @return
     */
    int updateUser(User user);
    /**
     * 根据userId删除对应数据
     * @param userId
     * @return
     */
    int deleteUserById(int userId);
}

UserServiceImpl

package com.humman.service.impl;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.humman.pojo.User;
import com.humman.service.UserService;
import com.humman.untils.DBuntil;

public class UserServiceImpl implements UserService{

    /**
     * 
     */
    public List<User> queryAll() {
        // TODO Auto-generated method stub
        String[] strs = null;
        ResultSet rs = null;
        List<User> userLsit =new ArrayList<User>();
        User user = null;
        try {
            rs =DBuntil.query("select * from T_users where ?=?",strs);
            while(rs.next()){
                user = new User();
                user.setUserId(rs.getInt("id"));
                user.setUsername(rs.getString("name"));
                user.setUserAge(rs.getInt("age"));
                userLsit.add(user);
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            /**
             * 先关闭Connection,则rs也会被关闭
             * 若先关闭ResultSet,则无法再获得Connection
             * 尝试:可以先取得Connection和Statement对象,然后分别关闭,则不再有错误
             */
            Connection con=null;
            Statement sta= null;
            try {
                con = rs.getStatement().getConnection();
                sta = rs.getStatement();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            DBuntil.closeRes(rs);
            DBuntil.closeSta(sta);
            DBuntil.closeCon(con);
        }
        return userLsit;

    }
    /**
     * 执行更新插入操作,默认返回0即插入失败。
     */
    public int insertUser(User user) {
        // TODO Auto-generated method stub
        Object[] objs = {user.getUsername(),user.getUserAge()};
        try {
            return DBuntil.noQuery("insert into T_users (name,age) values (?,?)",objs);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return 0;
    }
    /**
     * 执行更新操作,传入User对象,根据Id进行更新,更新name和age,未做细致区分之更新name和age
     */
    public int updateUser(User user) {
        // TODO Auto-generated method stub
        Object[] objs = {user.getUsername(),user.getUserAge(),user.getUserId()};
        try {
            return DBuntil.noQuery("update T_users set name=?,age=? where id=?",objs);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return 0;
    }

    public int deleteUserById(int userId) {
        // TODO Auto-generated method stub
        Object[] userIds = {userId};
        try {
            return DBuntil.noQuery("delete from T_Users where id=?",userIds);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return 0;
    }

}

DBuntil.class

package com.humman.service.impl;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.humman.pojo.User;
import com.humman.service.UserService;
import com.humman.untils.DBuntil;

public class UserServiceImpl implements UserService{

/**
 * 
 */
public List<User> queryAll() {
    // TODO Auto-generated method stub
    String[] strs = null;
    ResultSet rs = null;
    List<User> userLsit =new ArrayList<User>();
    User user = null;
    try {
        rs =DBuntil.query("select * from T_users where ?=?",strs);
        while(rs.next()){
            user = new User();
            user.setUserId(rs.getInt("id"));
            user.setUsername(rs.getString("name"));
            user.setUserAge(rs.getInt("age"));
            userLsit.add(user);
        }
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally{
        /**
         * 先关闭Connection,则rs也会被关闭
         * 若先关闭ResultSet,则无法再获得Connection
         * 尝试:可以先取得Connection和Statement对象,然后分别关闭,则不再有错误
         */
        Connection con=null;
        Statement sta= null;
        try {
            con = rs.getStatement().getConnection();
            sta = rs.getStatement();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        DBuntil.closeRes(rs);
        DBuntil.closeSta(sta);
        DBuntil.closeCon(con);
    }
    return userLsit;

}
/**
 * 执行更新插入操作,默认返回0即插入失败。
 */
public int insertUser(User user) {
    // TODO Auto-generated method stub
    Object[] objs = {user.getUsername(),user.getUserAge()};
    try {
        return DBuntil.noQuery("insert into T_users (name,age) values (?,?)",objs);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return 0;
}
/**
 * 执行更新操作,传入User对象,根据Id进行更新,更新name和age,未做细致区分之更新name和age
 */
public int updateUser(User user) {
    // TODO Auto-generated method stub
    Object[] objs = {user.getUsername(),user.getUserAge(),user.getUserId()};
    try {
        return DBuntil.noQuery("update T_users set name=?,age=? where id=?",objs);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return 0;
}

public int deleteUserById(int userId) {
    // TODO Auto-generated method stub
    Object[] userIds = {userId};
    try {
        return DBuntil.noQuery("delete from T_Users where id=?",userIds);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return 0;
}

}
简单复习一下,也没啥心得,就是记录此时。
稍后会通过IO读取dbproperties的配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值