java通过jdbc连接数据库

一,导入mysql包

mysql-connector-java-5.0.8-bin.jar

二,封装DBUtils

建立DBUtils工具类

public class DBUtil {
    private static String url = "jdbc:mysql://localhost:3306/java?&useSSL=true&charset=utf-8";
    private static String user = "root";
    private static String password = "123456";
    private static  String driver = "com.mysql.jdbc.Driver";

    static {
        try {
            Class.forName(driver);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
// 创建连接
    public static Connection getConn() throws Exception{
        Connection conn = DriverManager.getConnection(url,user,password);
        return conn;
    }
// 关闭连接
    public static  void close(ResultSet set, PreparedStatement statement, Connection conn){
        if (set != null){
            try {
                set.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (statement != null){
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (conn != null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

//   单元测试/白盒测试
public static void main(String[] args) {
    try {
        get_Conn();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
}

注意:运行结束后要关闭

三,实体类

public class User {
    private  int id;
    private String username;
    private String password;


    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;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

四,dao层接口

public interface UserDao {
    List<User> findAll();
    void addUser(String username,String passowrd);
}

五,UserDaoImpl实现类

public class UserDaoImpl implements UserDao {
    Connection conn = null;
    PreparedStatement state = null;
    ResultSet set = null;
    User user = null;
    User user1 = null;

    @Override
    public List<User> findAll() {
        List<User> userList = new ArrayList<>();
        try {
            conn = DBUtil.getConn();
            state = conn.prepareStatement("select * from tb_user");
            set = state.executeQuery();
            while (set.next()){
                user = new User();
                user.setUsername(set.getString("username"));
                user.setPassword(set.getString("password"));
                userList.add(user);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DBUtil.close(set,state,conn);
        }

        return userList;
    }

    @Override
    public void addUser(String username,String password) {
        List<User> userList = new ArrayList<>();
        try {
            conn = DBUtil.getConn();
            state = conn.prepareStatement("insert into tb_user value (?,?)");
            state.setString(1,username);
            state.setString(2,password);
            set = state.executeQuery();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

//测试运行
public static void main(String[] args) {
    UserDaoImpl us = new UserDaoImpl();
    us.findAll();
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没关系的朋友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值