前几天面试了某500强企业,要求用Java写一个访问数据库并插入一条数据的功能。
好久都没有这么原生态的使用java了,当场作答的不是很周详,到家之后重新回顾一下。
首先数据库新建一个表吧,用户表User,包含id,username,password3个字段,其中id是自增1的。建表语句在此
java中有这么几个概念,其中Connection是与数据库的链接,PreparedStatement是用于做拼凑sql语句使用的。executeQuery方法是执行只读方法(查询方法),而executeUpdate是执行写入方法(insert,update这类型的)。基本概念就这样,后面边看边说
这里我们简单一点就不用实体类了,为了能更突出重点,所有的try catch也不写了,eclipse会自动提示你加的。
导入的包包括
好久没有这么原生态了,如果不想用PreparedStatement那么就直接用Statement吧,sql用拼接字符串的形式生成,不过不是很好,笔试还是主要看思路的。
好了good luck
好久都没有这么原生态的使用java了,当场作答的不是很周详,到家之后重新回顾一下。
首先数据库新建一个表吧,用户表User,包含id,username,password3个字段,其中id是自增1的。建表语句在此
CREATE TABLE `shopping`.`new_table` (
`id` INT NOT NULL AUTO_INCREMENT,
`username` VARCHAR(45) NULL,
`password` VARCHAR(45) NULL,
PRIMARY KEY (`id`));
java中有这么几个概念,其中Connection是与数据库的链接,PreparedStatement是用于做拼凑sql语句使用的。executeQuery方法是执行只读方法(查询方法),而executeUpdate是执行写入方法(insert,update这类型的)。基本概念就这样,后面边看边说
这里我们简单一点就不用实体类了,为了能更突出重点,所有的try catch也不写了,eclipse会自动提示你加的。
Class.forName("com.mysql.jdbc.Driver");
Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/shopping","root","");
String sql = "insert into User(username,password) values(?,?)";
PreparedStatement psmt = conn.createPreparedStatement(conn,sql);
psmt.setString(1,"admin");
psmt.setString(2,"123");
psmt.executeUpdate();
//千万不要忘记关闭哦
psmt.close();
conn.close();
导入的包包括
import java.sql.*;
好久没有这么原生态了,如果不想用PreparedStatement那么就直接用Statement吧,sql用拼接字符串的形式生成,不过不是很好,笔试还是主要看思路的。
好了good luck