简单的Java代码连接数据库实现增删改查

首先创建一个数据库,创建一个表

例如下图这样的

《简单的Java代码连接数据库实现增删改查》

建立一个实体类

1.一般情况会与数据库中表内的数据类型一致

2. 建议:成员变量的名字要和数据库里面的字段名一致

3. 建议:使用基本数据类型的包装类

代码如下:

package a_preparedstatement;

public class Person {

private Integer id;

private String name;

        private Integer age;

        public Integer getId() {

        return id;

}

public void setId(Integer id) {

    this.id = id;

}

public String getName() {

    return name;

}

public void setName(String name) {

    this.name = name;

}

public Integer getAge() {

    return age;

}

public void setAge(Integer age) {

    this.age = age;

}

@Override

public String toString() {

    return “Person [id=” + id + “, name=” + name + “, age=” + age + “]”;

}

}

然后在创建个java文件写增删改查的方法

package a_preparedstatement;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import utils.JDBCUtil;

public class PersonDao {

/* 使用PreparedStatement 增删改查 *//** * 出入一个Person类对象,保存数据到数据库中 * @param person * @return int类型,返回值大于0表示添加成功,返回0表示添加数据失败 */

public int add(Person person) {

Connection conn = null;

PreparedStatement statement = null;

try {conn = JDBCUtil.getConnection();

String sql = “insert into person(name, age) values(?,?)”;

//预处理SQL语句,获取到PreparedStatementstatement = conn.prepareStatement(sql);

//给予参数statement.setString(1, person.getName());statement.setInt(2, person.getAge());

//执行SQL语句return statement.executeUpdate();

} catch (SQLException e) {

// TODO: handle exceptione.printStackTrace();

}

 finally {

JDBCUtil.close(conn, statement);

}

return 0;

}

/** * 更具ID删除数据库里面的数据 * @param id * @return int类型,返回值大于0表示删除成功,返回0表示删除数据失败 */

public int deleteById(int id) {

Connection conn = null;

PreparedStatement statement = null;

try {

conn = JDBCUtil.getConnection();

String sql = “delete from person where id = ?”;statement = conn.prepareStatement(sql);statement.setInt(1, id);

return statement.executeUpdate();

} catch (SQLException e) {

// TODO: handle exceptione.printStackTrace();

} finally {

JDBCUtil.close(conn, statement);}return 0;}

/** * 修改Person的个人信息 * @param person 传入的Person类对象 * @return int类型,返回值大于0表示修改成功,返回0表示修改数据失败 */

public int update(Person person) {

Connection conn = null;

PreparedStatement statement = null;

try {

conn = JDBCUtil.getConnection();

String sql = “update person set name=?, age=? where id=?”;

statement = conn.prepareStatement(sql);

statement.setString(1, person.getName());

statement.setInt(2, person.getAge());

statement.setInt(3, person.getId());

return statement.executeUpdate();

} catch (SQLException e) {

// TODO: handle exception}

 finally {

}

return 0;

}

 /** * 查询数据库里面的所有的Person信息,返回一个List集合 * @return 返回保存Person类对象的List集合 */

public ListfindAll() {

ResultSet set = null;

Connection conn = null;

PreparedStatement statement = null;

Listlist = new ArrayList();

try {

conn = JDBCUtil.getConnection();

String sql = “select * from person”;

statement = conn.prepareStatement(sql);

set = statement.executeQuery();

while (set.next()) {

Person p = new Person();

p.setId(set.getInt(“id”));

p.setName(set.getString(“name”));

p.setAge(set.getInt(“age”));

list.add(p);

}

return list;

} catch (Exception e) {

// TODO: handle exception

} finally {

JDBCUtil.close(conn, statement, set);

}

return null;

}

/**

* 根据ID 查询数据库中的Person信息,返回一个Person类对象

* @param id 要查询的PersonID

* @return 返回一个Person类对象,如果没有找到,返回null

*/

public Person findById(int id) {

ResultSet set = null;

Connection conn = null;

PreparedStatement statement = null;

Person p = null;

try {

conn = JDBCUtil.getConnection();

String sql = “select * from person where id=?”;

statement = conn.prepareStatement(sql);

statement.setInt(1, id);

set = statement.executeQuery();

if (set.next()) {

p = new Person();

p.setId(set.getInt(“id”));

p.setName(set.getString(“name”));

p.setAge(set.getInt(“age”));

}

return p;

} catch (Exception e) {

// TODO: handle exception

} finally {

JDBCUtil.close(conn, statement, set);

}

return null;

}

}

最后写个视图层,也就是页面,在控制台显示的

package a_preparedstatement;

import java.util.Scanner;

public class ViewDemo01 {

public static void main(String[] args) {

PersonDao pd = new PersonDao();

Scanner sc = new Scanner(System.in);

while(true) {

System.out.println(“###############”);

System.out.println(“1.添加数据”);

System.out.println(“2.删除数据”);

System.out.println(“3.更新数据”);

System.out.println(“4.查看所有数据”);

System.out.println(“5.查询指定数据”);

System.out.println(“6.退出”);

System.out.println(“¥¥¥¥¥¥¥¥¥¥¥¥”);

System.out.println(“###############”);

int choose = sc.nextInt();

switch (choose) {

case 1:

System.out.println(“请输入姓名”);

String name = sc.nextLine();

System.out.println(“请输入年龄”);

int age = sc.nextInt();

Person p = new Person();

p.setName(name);

p.setAge(age);

pd.add(p);

break;

case 2 :

System.out.println(“请输入要删除的id”);

int id = sc.nextInt();

pd.deleteById(id);

break;

case 3:

System.out.println(“请输入姓名”);

String name1 = sc.nextLine();

System.out.println(“请输入年龄”);

int age1 = sc.nextInt();

Person p2 = new Person();

p2.setName(name1);

p2.setAge(age1);

pd.update(p2);

break;

case 4:

pd.findAll();

break;

case 5:

System.out.println(“请输入要查看的人的id”);

id = sc.nextInt();

pd.findById(id);

break;

case 6:

System.out.println(“退出程序”);

System.exit(0);

break;

default:

break;

}

}

}

}

这样就好了

主要掌握SQL语句

    原文作者:我叫路飞啊
    原文地址: https://www.jianshu.com/p/3bff94b294bf
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞