在实际的开发的当中
我们会发现在数据库中插入数据是比查询数据难的
因为查询只需要一个固定的值就可以进行查询
但是插入的话需要对照数据库的建表
因为有些键值不允许为空
示例代码:
package sqlserver.controller;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import peopele.User;
public class Sqlserver_People_Controller extends Sqlserver_Controller{
public Sqlserver_People_Controller(){
super();
}
public void user_register(User user){
try {
String sql = "insert into dbo.Table_User(userid, username, email, mobilephone, password)"
+ "values(?, ?, ?, ?, ?)";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, user.getId());
ps.setString(2, user.getName());
ps.setString(3, user.getEmail());
ps.setString(4, user.getMobilephone());
ps.setString(5, user.getPassword());
int row = ps.executeUpdate();
if(row > 0){
System.out.println("用户" + user.getName() + "已向dbo.Table_User表中添加了"
+ row + "条数据");
}
ps.close();
user = null;
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("向dbo.Table_User中添加用户"
+ user.getName() + "的信息失败");
}
}
public User user_login(String username){
try {
Statement stmt = connection.createStatement();
String sql = "select * from dbo.Table_User where username = '" + username + "'";
ResultSet rs = stmt.executeQuery(sql);
System.out.println("正在查询用户" + username + "的信息");
rs.next();
System.out.println("已查询到用户" + username + "的信息");
User user = new User(
rs.getString("userid"),
rs.getString("username"),
rs.getString("email"),
rs.getString("mobilephone"),
rs.getString("password")
);
System.out.println("用户" + username + "登录成功");
return user;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("用户" + username + "登录失败");
}
return null;
}
}