关于黑马程序员javaweb课程,jdbc,druid,mybaties获取数据库连接的代码区别

jdbc

1,提前准备操作(导入连接数据库的jar包并加入小奶瓶,或者用maven创建项目导入java-connecto-mysqlr依赖)

  如果版本为某个版本以上需要写驱动com.mysql.cj.jdbc.Driver,并且可能还需要时区(不按照要求就会报错)

        //1,加载驱动(此为添加操作)
        Class.forName("com.mysql.jdbc.Driver");
        //2获取数据库连接
        String url1="jdbc:mysql://localhost:3306/mysqldb?                           
        useSSL=true&serverTimezone=GMT%2B8";
        String user="root";
        String password="1234";
        //数据库连接对象
        Connection conn= (Connection) DriverManager.getConnection(url1,user,password);
        //准备sql语句
        String insert_sql="INSERT INTO douban (movieName,score,director) values (?, ?, ?)";
        //获取数据库操作对象
        PreparedStatement statement=(PreparedStatement) 
        conn.prepareStatement(insert_sql);
        statement.setString(1, movieName);
        statement.setString(2, score);
        statement.setString(3, director);
        int num = statement.executeUpdate();
        statement.close();
        conn.close();
        
        //以下为select DQL操作!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        ResultSet resultSet=statement.executeQuery(insert_sql);
		Dept dept=null;
		List<Dept> depts=new ArrayList<Dept>();
		while(resultSet.next()) {
			dept=new Dept();
			dept.setDeptno(resultSet.getInt(1));
			dept.setDname(resultSet.getString(2));
			dept.setLoc(resultSet.getString(3));
			depts.add(dept);
        }

使用preparedStatement,将sql语句写入方法中,在executeUpdate或者executeQuery方法中不需要书写,且使用preparedStatement防止sql注入

druid数据库池

前提:导入jar包或者写入druidmaven依赖

在com子一层目录下新建properties文件夹写入配置文件,文件目录以及druid.propertis大致配置如下

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///db1?useSSL=false&useServerPrepStmts=true
username=root
password=1234
# 初始化连接数量
initialSize=5
# 最大连接数
maxActive=10
# 最大等待时间
maxWait=3000


在主方法中引用如下

    Properties prop = new Properties();
    prop.load(new FileInputStream("jdbcdemo/src/druid.properties"));
    //4. 获取连接池对象
    DataSource dataSource =
    DruidDataSourceFactory.createDataSource(prop);
    //5. 获取数据库连接 Connection
    Connection conn = dataSource.getConnection();

剩下步骤与jdbc一致

比较一下区别(此为精髓之处)

 

 mybaties

前提:导入jar包或者maven项目导入依赖

在模块下的 resources 目录下创建mybatis的配置文件 mybatis-config.xml(文件名称就按照这个写,不要另起别名,记得做过一个springmvc的项目就是因为配置文件的名称不对,找了好久的错误) 

配置文件内容大概是

别名标签,连接数据的硬性配置,和mapper标签关联sql语句的xml文件

<mappers>
    <!--加载sql映射文件-->
    <mapper resource="UserMapper.xml"/>
</mappers>

编写mapper的xml文件,包括namespace属性,id属性,typeresult属性表示返回类型.此处可以用别名从而省略繁琐的包文件

将取到的mysql数据映射到pojo类中

优化下

使用mapper代理方式

原因:上图sqlSession.selectList(test.selectAll),还是存在硬编码问题

定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下

 

主方法也很重要

mybaties这如果把老师讲的两种(第一种存在硬编码,第二种优化)都理解下来有些绕,建议画一下导引图方便理解,最好是根据老师提供的pdf课件画效果更好;

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sbuds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值