准备工作

  1新建po类:User

   private int id;
private String name;
private String pwd;

set,get方法省略

2  新建UserDao类,存放增删改查的相关方法,并且定义链接数据库的相关性信息(链接地址,用户名,密码);

public class UserDao {
private static String jdbcDriver = "com.mysql.jdbc.Driver";
private static String jdbcUrl="jdbc:mysql://localhost:3306/homework";
private static String jdbcuser="root";
private static String jdbcpwd="123";
public boolean ChaRu(User user){ //插入数据
boolean flag=true; return flag;
}
public boolean XiuGai(User user){ //修改数据
boolean flag=true; return flag;
}
public boolean ShanChu(int id){ //删除数据
boolean flag=true; return flag;
}
public List<User> ChanZhao(){ // 查找数据
List<User> list= new ArrayList<User>();
return list;
} }

3 在数据库中创建表user,表中设置,id    int

name varchar(20)

pwd  varchar(20)

1 插入数据

在进行增删改查操作结束之后,一定要关闭conn,st,rs(仅查找时用到此对象)对象。

    public boolean ChaRu(User user){
boolean flag=true;
Connection conn= null;
Statement st=null;
String sql="insert into user(name,pwd) values('"+user.getName()+"','"+user.getPwd()+"')"; //插入数据的SQL语句
try {
Class.forName(jdbcDriver); // 加载驱动器
conn=DriverManager.getConnection(jdbcUrl, jdbcuser, jdbcpwd); // 驱动利用驱动地址,数据库用户名,密码创建连接
st=conn.createStatement(); // 连接创建数据库操作对象,Statement是执行数据库的重要方法
int i=st.executeUpdate(sql); // Statement 对象利用executeUpdate()方法执行sql。
if(i==0){
flag=false; // 后面测试用到flag变量,前面执行sql语句,如果成功i不为0,true代表执行成功,false代表失败。
} } catch (ClassNotFoundException e) { //加载驱动器失败异常
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) { //创建链接失败异常
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(conn!=null){ // 最后关闭连接
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(st!=null){ //关闭Statement
try {
st.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return flag; // 返回flag
}
public static void main(String[] args) {
User user=new User(); //初始化 User类 对象user可以调用set,get方法设置或者获得数据。
UserDao userDao = new UserDao(); //初始化UserDao 类,可以调用增删改差的各种方法。
user.setName("lbzz"); // 设置姓名
user.setPwd("123"); // 设置密码
boolean flag=userDao.ChaRu(user); //执行插入操作,返回值赋给flag
if(flag){ //根据flag判断执行是否成功。
System.out.println("插入成功");
}else{
System.out.println("插入失败");
} }

2 修改数据

public boolean XiuGai(User user){
boolean flag=true;
Connection conn= null;
Statement st= null;
String sql= "update user set pwd='"+user.getPwd()+"' where name='"+user.getName()+"'";
System.out.println(sql);
try {
Class.forName(jdbcDriver);
conn=DriverManager.getConnection(jdbcUrl, jdbcuser, jdbcpwd);
st=conn.createStatement();
int i=st.executeUpdate(sql);
if(i==0){
flag=false;
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(st!=null){
try {
st.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
} return flag;
}

测试

public static void main(String[] args) {
User user= new User();
UserDao userDao= new UserDao();
user.setName("lbzz");
user.setPwd("lbzz");
boolean flag=userDao.XiuGai(user);
if(flag){
System.out.println("修改成功");
}else{
System.out.println("修改失败");
}
}

3 删除记录

public boolean ShanChu(int id){
boolean flag=true;
Connection conn= null;
Statement st= null;
String sql="delete from user where id="+id;
try {
Class.forName(jdbcDriver);
conn=DriverManager.getConnection(jdbcUrl, jdbcuser, jdbcpwd);
st=conn.createStatement();
int i=st.executeUpdate(sql);
if(i==0){
flag=false;
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(st!=null){
try {
st.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} return flag;
}

测试

public static void main(String[] args) {
UserDao userDao = new UserDao();
boolean flag= userDao.ShanChu(1);
if(flag){
System.out.println("删除成功");
}else{
System.out.println("删除失败");
}
 }

4 查找数据

前面增删改,程序除了sql语句不同外,其余相差无几,查找与前三个程序略有不同。

public List<User> ChanZhao(){    //  查询出来的数据不止一条,所以使用集合
List<User> list= new ArrayList<User>(); // 对集合进行初始化
Connection conn= null;
Statement st=null;
ResultSet rs=null; // ResultSet 返回的是一个结果集
String sql="select * from user";
try {
Class.forName(jdbcDriver);
conn= DriverManager.getConnection(jdbcUrl, jdbcuser, jdbcpwd);
st=conn.createStatement();
rs=st.executeQuery(sql); // 查询时使用 executeQuery()方法
while(rs.next()){ // 对结果集进行遍历
User user = new User();
user.setName(rs.getString("name")); // 需要查询什么就要像这样设置什么
list.add(user); //添加到集合
} } catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
     }finally{
              关闭conn,st,rs 
    }
return list; //返回list
}

测试

 public static void main(String[] args) {
UserDao userDao = new UserDao();
List<User> list=userDao.ChanZhao();
for(User user:list){
System.out.println(user.getName());
}
}

最新文章

  1. Transaction Replication6:Transaction cleanup
  2. 优化MyBatis配置文件中的配置
  3. oracle查看当前用户权限
  4. JS open App(未安装就跳转下载页面)
  5. 【转】CSS清除浮动_清除float浮动
  6. cocos2dx2.2.2登录场景中Checkbox选择框的实现
  7. Linux经常使用的命令(必看)
  8. Google addword 策略
  9. Android为TV端助力:(转载)修改TextView字体样式
  10. python摸爬滚打之----tcp协议的三次握手四次挥手
  11. vue-quill-editor富文本编辑器,上传图片自定义为借口上传
  12. text-decoration:[ text-decoration-line ] || [ text-decoration-style ] || [ text-decoration-color ] 默认值:
  13. List对象去重碎碎念之神叨叨
  14. 1.Ubuntu系统与vmware虚拟机的安装与使用
  15. 移动端、PC端(前后台)、小程序常用的UI框架
  16. Java知多少(29)覆盖和重载
  17. H5活动页面与APP交互规则
  18. Windows的DOS命令基础
  19. bulk_write&amp;Replace_one
  20. python是如何进行内存管理的?

热门文章

  1. CAS单点登录的原理
  2. C#基础--应用程序域(Appdomain)
  3. Java:正则表达式
  4. 如何编写自己的虚拟DOM
  5. [CF489D]Unbearable Controversy of Being
  6. Autofac register and resolve
  7. unidbnavigator提示汉化
  8. Mac 使用技巧分享
  9. NO.4 Android开发中常用框架及工具
  10. Android -- listview的使用, Inflater打气筒创建View对象,三种数据Adapter