讲师笔记,Java基础学习之路之day27——jdbc01

jdbc
     java database connection
     是java访问数据库的唯一途径
         mybatis hibernate 持久层框架 
             都是对 jdbc的封装
     
     jdbc是一组接口 接口是规范,在jdk中没有实现类
     由数据库厂商做实现 并将实现类 以第三方jar包形式 提供
     第三方jar包 : 非jdk提供的jar包 其他公司开发的
     
导入jar包:
    1.在项目下 新建lib目录
    2.把jar包放到lib目录下
    3.选中jar包 --build path--add to build path..
    

jdbc连接数据库的步骤:
    1.注册驱动:
        Class.forName("com.mysql.jdbc.Driver");
    2.连接数据库:
        String url = "jdbc:mysql://localhost:3306/stu";
        String user = "root";
        String password = "";
        Connection conn = DriverManager.getConnection(url, user, password);
    3.创建statement对象 :利用该对象 来执行sql
        Statement st = conn.createStatement();
        或者
        PreparedStatement ps = conn.prepareStatement(sql);
        
    4.编写sql语句
    5.执行sql
        int count =  st.executeUpdate(sql); 此方法适用于增删改操作
        ResultSet rs = st.executeQuery(sql); 此方法使用与查询操作
            ResultSet类中的方法:
                next():用于判断下一条是否有数据 如果有则将游标指向下一条数据
                getxxx(列名/第几列):获取当前行的某列数据
        或者
        ps.executeUpdate() /  ps.executeQuery()
    6.处理返回结果
    7.关闭数据连接资源
        conn.close();

--------------------------------------------------------------        
    execute()方法:
    能执行任意sql语句   返回true则是查询语句  返回false是增删改语句
    
PreparedStatement 比 Statement 优势:
    1.不用拼接sql字符串
    2.防止sql注入 (sql注入:在用户输入数据中包含sql关键字,从而改变运行结果来实现恶意攻击数据库)
    3.PreparedStatement可以在执行sql前 在数据库中被预编译,性能速度相较更快。
    

--------------------------------------------------------------
作业:
    1. jdbc七步骤
    2.使用PreparedStatement 实现 模糊查询:
        要求查询t_user表的用户名中包含"abc"的所有数据
        
        public List<User> queryByName(String s){}
        
    3.读取database.properties的文件,并且连接数据库,并且插入一条数据:
        driver=com.mysql.jdbc.Driver
        url=
        user=root
        password=
        sql=insert into...

create table t_user(
   id int primary key auto_increment,
   name varchar(20),
   password  varchar(20)
)engine=InnoDB default charset=utf8;

猜你喜欢

转载自blog.csdn.net/u011189148/article/details/81417231