zoukankan      html  css  js  c++  java
  • 第七周作业

    1.创建数据库

    create database jdbc1;
    
    use jdbc1;
    
    create table user(id int primary key auto_increment,
                                    name varchar(30),
                                    password varchar(30),
                                    email  varchar(100),
                                    birthday Date);
    insert into user(name,password,email,birthday) values('litao','1007','5288471512@qq.com','1998-03-14');
    insert into user(name,password,email,birthday) values('tianyihui','6384','528765456@qq.com','1998-02-14');
    insert into user(name,password,email,birthday) values('minkexin','9872','853308091@qq.com','1999-01-26');
    

      

    2.创建JavaBean的封装数据:users

    package cn.itcast.jdbc.example;
    
    import java.util.Date;
    
    public class Users {
    	//封装
    		private int id;
    		private String username;
    		private String password;
    		private String email;
    		private Date birthDay;
    		public int getId() {
    			return id;
    		}
    		public void setId(int id) {
    			this.id = id;
    		}
    		public String getUsername() {
    			return username;
    		}
    		public void setUsername(String username) {
    			this.username = username;
    		}
    		public String getPassword() {
    			return password;
    		}
    		public void setPassword(String password) {
    			this.password = password;
    		}
    		public String getEmail() {
    			return email;
    		}
    		public void setEmail(String email) {
    			this.email = email;
    		}
    		public Date getBirthDay() {
    			return birthDay;
    		}
    		public void setBirthDay(Date birthDay) {
    			this.birthDay = birthDay;
    		}
    }
    

      3.创建工具类:JDBCUtils

    package cn.itcast.jdbc.example;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class JDBCUtils {
         //获取连接对象的方法
    	public static Connection getCon() throws Exception{
    		//1.注册和加载驱动
    		Class.forName("com.mysql.jdbc.Driver");
    		//2.获取驱动
    	   Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc1", "root", "root");
    	   return con;
    	}
    	//关闭连接,释放资源
    	public static void realse (ResultSet rs,Statement stmt, Connection con){
    		
    		if(rs!=null){	   
    			try {
    				rs.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    	    }
    		if(stmt!=null){
    	         try {
    				stmt.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		if(con!=null){
    			try {
    				con.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    
    }
    

     4.创建一个Dao类:UsersDao

    package cn.itcast.jdbc.example;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    
    public class UsersDao {
    
    	/**
    	 * 完成对数据库的crud操作
    	 * @param args
    	 */
    	public boolean insert(Users user1){
    		Connection con=null;
    		Statement stmt=null;
    		try{
    			//1.获取连接对象
    			con=JDBCUtils.getCon();
    			//2.获取执行sql语句的对象
    		    stmt = con.createStatement();
    			//3.执行sql
    			java.util.Date birthday=user1.getBirthDay();
    			String sqlBirthDay=String.format("%tF", birthday);
    			String sql="insert into user(id,name,password,email,birthday)"+"values('"
    			+user1.getId()+"','"
    			+user1.getUsername()+"','"
    			+user1.getPassword()+"','"
    			+user1.getEmail()+"','"
    			+sqlBirthDay+"'"
    			+")";
    			int row=stmt.executeUpdate(sql);	
    			if(row>0){
    				//插入成功
    				return true;
    			}
    		}catch(Exception e){
    			throw new RuntimeException(e);
    		}finally{
    			JDBCUtils.realse(null, stmt, con);
    		}
    		
    		return false;
    	}
    	
    	//2.提供查询的方法
    	public List<Users> findAllUser(){
    		Connection con =null;
    		Statement stmt =null;
    		ResultSet  rs  =null;
    		try{
    			//1.获取连接对象
    			con=JDBCUtils.getCon();
    			//2.获取执行sql语句的对象
    			stmt=con.createStatement();
    			//3.执行sql
    			String sql="select * from user";
    			 rs=stmt.executeQuery(sql);
    			 //4.遍历rs
    			 List<Users> list=new ArrayList<Users>();
    			 while(rs.next()){
    				 //一行数据对应一个对象
    				 Users user1=new Users();
    				 user1.setId(rs.getInt("id"));
    				 user1.setUsername(rs.getString("name"));
    				 user1.setPassword(rs.getString("password"));
    				 user1.setEmail(rs.getString("email"));
    				 java.sql.Date birthday=rs.getDate("birthday");
    				 user1.setBirthDay(birthday);
    				 //把对象添加到集合中
    				 list.add(user1);				 
    				 
    			 }
    			 
    			 return list;
    			 
    		}catch(Exception e){
    			throw new RuntimeException(e);
    		}finally{
    			JDBCUtils.realse(rs, stmt, con);
    		}
    		
    	}
    	
    	//3.根据id,来查询记录
    	public Users findUserById(int id){
    		Connection con =null;
    		PreparedStatement stmt=null;
    		ResultSet   rs =null;
    		try{
    			//1.获取连接对象
    			con=JDBCUtils.getCon();
    			//2.获取执行sql语句的对象
    			String sql="select * from user where id=?";
    			stmt=con.prepareStatement(sql);
    			//3.执行sql,给占位符赋值
    			stmt.setInt(1, id);
    			rs=stmt.executeQuery();
    			 //4.遍历rs
    			 if(rs.next()){
    				 //一行数据对应一个对象
    				 Users user1=new Users();
    				 user1.setId(rs.getInt("id"));
    				 user1.setUsername(rs.getString("name"));
    				 user1.setPassword(rs.getString("password"));
    				 user1.setEmail(rs.getString("email"));
    				 java.sql.Date birthday=rs.getDate("birthday");
    				 user1.setBirthDay(birthday); 			 
    				 return user1;
    			 }
    			 
    			
    			 
    		}catch(Exception e){
    			throw new RuntimeException(e);
    		}finally{
    			JDBCUtils.realse(rs, stmt, con);
    		}
    		return null;
    		
    	}
    	
    	//4.提供一个修改方法,根据id修改记录
    	public boolean update(Users user1){
    		
    		Connection con=null;
    		PreparedStatement stmt=null;
    		try{
    			//1.获取连接对象
    			con=JDBCUtils.getCon();
    			//2.获取执行sql语句的对象
    			String sql="update user set name=?,password=? where id=?";
    		    stmt = con.prepareStatement(sql);
    			//3.执行sql,给占位符赋值
    			stmt.setString(1, user1.getUsername());
    			stmt.setString(2, user1.getPassword());
    			stmt.setInt(3, user1.getId());
    			
    			int row=stmt.executeUpdate();	
    			if(row>0){
    				//插入成功
    				return true;
    			}
    		}catch(Exception e){
    			throw new RuntimeException(e);
    		}finally{
    			JDBCUtils.realse(null, stmt, con);
    		}
    		
    		return false;
    	}
    	
    	//5.删除方法
    	public boolean delete (int id){
    		Connection con=null;
    		PreparedStatement stmt=null;
    		try{
    			//1.获取连接对象
    			con=JDBCUtils.getCon();
    			//2.获取执行sql语句的对象
    			String sql="delete from user where id=?";
    		    stmt = con.prepareStatement(sql);
    			//3.执行sql,给占位符赋值
    			
    			stmt.setInt(1,id);
    			
    			int row=stmt.executeUpdate();	
    			if(row>0){
    				//插入成功
    				return true;
    			}
    		}catch(Exception e){
    			throw new RuntimeException(e);
    		}finally{
    			JDBCUtils.realse(null, stmt, con);
    		}
    		
    		return false;
    	}
    }
    

      5.创建的测试类

             1).添加方法类:jdbcInsertTest

    package cn.itcast.jdbc.example;
    
    import java.util.Date;
    
    public class JdbcInsertTest {
    
    	
    	public static void main(String[] args) {
    		
    		//插入数据
    		UsersDao dao=new UsersDao();
    		Users user1=new Users();
    		user1.setId(4);
    		user1.setUsername("sui");
    		user1.setPassword("8437");
    		user1.setEmail("52884712@qq.com");
    		user1.setBirthDay(new Date());
    		boolean flag=dao.insert(user1);
    
    	}
    
    }
    

      

    2).查询所有的方法类:FindAllUserTest

    package cn.itcast.jdbc.example;
    
    import java.util.List;
    
    public class FindAllUserTest {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
            UsersDao dao = new UsersDao();
            List<Users> list=dao.findAllUser();
            
            System.out.println(list.size());
    	}
    
    }

    3).查询类:FindUserByIdTest

    package cn.itcast.jdbc.example;
    
    public class FindUserByIdTest {
    
    	
    	public static void main(String[] args) {
    		UsersDao dao = new UsersDao();
    		Users u=dao.findUserById(4);
    		System.out.println(u.getUsername());
    	}
    
    }
    

     

    4)修改方法:UpdateUserTest

    package cn.itcast.jdbc.example;
    
    public class UpdateUserTest {
    
    	
    	public static void main(String[] args) {
    		UsersDao dao=new UsersDao();
            Users u=new Users();
            u.setId(4);
            u.setUsername("suixiaoyi");
            u.setPassword("4829");
            boolean flag=dao.update(u);
            System.out.println(flag);
    	}
    
    }
    

      

    5).删除方法类:DeleteUserTest

    package cn.itcast.jdbc.example;
    
    public class DeleteUserTest {
    
    	
    	public static void main(String[] args) {
    		UsersDao dao=new UsersDao();
    		boolean flag=dao.delete(1);
    		System.out.println(flag);
    	}
    
    }
    

      

     

  • 相关阅读:
    GridView编辑删除取消完整代码
    添加删除组件里没有IIS
    关于网站开发中存在的问题
    网络公司网站源码介绍Version1.0
    IIS 状态代码
    收藏常用的快捷方式
    连接池已经满的解决方案
    Do you choose a experienced employee with highsalary or a inexperienced employee with lowsalary?
    Registered Permanent residence/attitude for sports
    数据缓存依赖
  • 原文地址:https://www.cnblogs.com/lixiaoai/p/12741927.html
Copyright © 2011-2022 走看看