JDBC实现数据库的增删改查操作实例

来源: whh743 发布时间:2018-11-21 14:09:32 阅读量:1111

这里我们使用mysql数据库


1:创建一个测试用的表


CREATE TABLE `user` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(20) DEFAULT NULL,

  `sex` varchar(20) DEFAULT NULL,

  `age` int(11) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8


2:创建一个user表的实体类,并加上get set方法

public class User {

private int id;

private String name;

private String sex;

private int age;


public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}


3:添加获取数据库连接,增加,删除,修改,更新,测试的方法

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;



public class JdbcUtils {

// 获取数据库的连接

public static Connection getConnection() {

String driver = "com.mysql.jdbc.Driver";// 驱动,固定写法

String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";// 不加字符编码中文会乱码,亲测

String userName = "admin";

String password = "7758258";

Connection conn = null;

try {

Class.forName(driver);

conn = DriverManager.getConnection(url, userName, password);

return conn;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}



// 增加

public static void getAllUser() {

Connection conn = JdbcUtils.getConnection();

String sql = "select * from user";

PreparedStatement pstmt;

try {

pstmt = (PreparedStatement) conn.prepareStatement(sql);

ResultSet rs = pstmt.executeQuery();

int col = rs.getMetaData().getColumnCount();



while (rs.next()) {

for (int i = 1; i <= col; i++) {

System.out.print(rs.getString(i) + "\t");

}

System.out.println("");

}



} catch (SQLException e) {

e.printStackTrace();

}

}



// 插入

public static int insertUser(User user) {

Connection conn = JdbcUtils.getConnection();

int i = 0;

String sql = "insert into user (name,sex,age) values(?,?,?)";

PreparedStatement pstmt;

try {

pstmt = (PreparedStatement) conn.prepareStatement(sql);

pstmt.setString(1, user.getName());

pstmt.setString(2, user.getSex());

pstmt.setInt(3, user.getAge());

i = pstmt.executeUpdate();

pstmt.close();

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

return i;

}



// 修改

public static int updateUser(User user) {

Connection conn = JdbcUtils.getConnection();

int i = 0;

String sql = "update user set age='" + user.getAge() + "' where name='"

+ user.getName() + "'";

PreparedStatement pstmt;

try {

pstmt = (PreparedStatement) conn.prepareStatement(sql);

i = pstmt.executeUpdate();

pstmt.close();

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

return i;

}



// 删除

public static int deleteUser(User user) {

Connection conn = JdbcUtils.getConnection();

   int i = 0;

   String sql = "delete from user where name='" + user.getName() + "'";

   PreparedStatement pstmt;

   try {

       pstmt = (PreparedStatement) conn.prepareStatement(sql);

       i = pstmt.executeUpdate();

       pstmt.close();

       conn.close();

   } catch (SQLException e) {

       e.printStackTrace();

   }

   return i;

}



// 用于测试的main方法

public static void main(String[] args) {

// 测试查询方法

JdbcUtils.getAllUser();



// 测试插入方法

User user = new User();

user.setName("张三");

user.setSex("男");

user.setAge(55);

int i = JdbcUtils.insertUser(user);

System.out.print(i);



// 测试更新方法

user.setAge(100);

user.setName("zhangsan");

i = JdbcUtils.updateUser(user);


//测试删除方法

user.setName("zhangsan");

i = JdbcUtils.deleteUser(user);

}

}



JAR包的配置,我们使用的是maven工程。在pom.xml引入


<dependency>

   <groupId>mysql</groupId>

   <artifactId>mysql-connector-java</artifactId>

   <version>5.1.1</version>

</dependency>

--------------------- 



标签: 数据库
分享:
评论:
你还没有登录,请先