发表于: 2017-12-14 21:19:43

1 747


17.Q:17.编写DAO,分别JdbcTemplate和Mybatis连接数据库,注意使用JDBCTemplate的时候分离Interface和Imple,使用Mybatis的时候注意理解为什么不需要Impl,注意遵守命名规范。

A:domain 实体类;dao访问的方法;LoginlogDao日志;service用户登录、日志

贴上原生JDBC总结和代码自己的注释理解

1创建Connection,在trycatch 语句中加载mysql驱动,找数据库地址,匹配用户名密码
2正确后,连接数据库,做声明(statement)处理结果
3通过Statement执行mysql语句,把处理结果给到ResultSet
4使用ResultSet 读取数据,一般后面接上输出语句
5按相反顺序关闭处理结果、声明、连接、数据库,关闭所有的

//      公有类  名DBUtil

public class DBUtil {

//      私有 域 不可以改的string型参url

    private static final String url =

            "jdbc:mysql://localhost:3306/jdbc?&user=root&password=hz741852597&"+

                    "Unicode=true&characterEncoding=UTF8";

//      连接数据库

//      公有 方法Connection 名getConn

    public  static Connection  getConn (){

//      一般要赋值型参

        Connection conn = null;

//      try catch 捕捉异常,try{}出错,输出catch()【case1/case2/case3...】;

//      try{}对,catch不说话

        try {

//      classforname    class.forName("xxxx") 使用当前类的“初始类加载器”

//      调用JAVA API中某些反射方法。

//      还有个new,  new是在编译时就要检查.class类型和路径

            Class.forName("com.mysql.jdbc.Driver");

//      DriverManager在java.sql这个包里面, 管理一组 JDBC 驱动程序的基本服务,

//      现在它调用(.)getConn方法,连接上方法里的参数url

//      因为同类下的原因,所以能够调用

//      getConnenction(),功能就是创建并返回数据库连接对象

                    conn = DriverManager.getConnection(url);

//      捕获到类没找到,赋值给e

        }catch (ClassNotFoundException e){

//       e调用方法  printStackTrace()方法的意思是:

//      在命令行打印异常信息在程序中出错的位置及原因

            e.printStackTrace();

//      捕获mysql异常

        }catch (SQLException e){

            e.printStackTrace();

        }

//        return 从一个方法conn返回

        return  conn;

    }

//      关闭所有资源

//      公有域 方法release 形参三个,形参变量rs,stmt,conn

    public  static  void release(ResultSet rs, Statement stmt, Connection conn){

        try{

//      if rs不为空,rs.close 关闭数据集,此时的rs处于休眠状态 .可以使用rs.open重新打开一个数据集.

//      set rs=nothing则释放rs对象所占的内存空间,相当于回到定义rs前的状态,这时,rs将不再可用.

//      关闭数据库的链接,需要对connection对象执行close方法以及set conn=nothing释放资源.

            if (rs != null)

                rs.close();

            if (stmt != null)

                stmt.close();

            if (conn != null)

                conn.close();

        }catch (SQLException e){

            e.printStackTrace();

        }

    }

}

先占上坑

今天完成的事情:刷了刷基础书《java核心技术》,里面都是一些很基础的东西,但是感觉自己不知道的知识点还是很多的,有点后悔之前在毫无目的的敲代码,对敲过的代码也不求理解,当自己处于一个见到的东西都是一知半解更多是云里雾里的时候,就应该多去看看基础,打好基础书上的测试小例子,由浅入深。而且还有要有目的的看书,做好笔记和定好每天看书的量,结合例子理解,听师兄们说,书上的知识点是非常多的,不建议多看,但是没看一次都会有新的收获,而没什么基础的,比如我,就该多花点时间了解一下基础知识,不然单纯一条语句都只能看英文解释来翻译,而不是靠机器语言和思维去理解,相当于死记硬背的性质。

明天计划的事情:我现在觉得每天日报必须要写写这一点,良好的计划能督促自己,如果超出预期,要及时做好调整。明天计划把spring ioc理解完,把基础书再翻一翻,再了解接口概念,有时间就把template写写,原生的JDBC语句在写template时进行复习,就这样,备注,今天第十天。


返回列表 返回列表
评论

    分享到