mybatisday01

mybatis

为什么用mybatis

//注册jdbc驱动
Class.forNmae("com.mysql.jdbc.Driver");
//打开连接
conn=DriverManager.getConnenction(DB_URL,USER,PASSWORD);
//执行查询
stmt=conn.createStatement();
String sql="SELECT bid,name,author_id FROM blog";
ResultSet rs=stmt.executQuery(sql);
//获取结果集
while(rs.next()){
 int bid=rs.getInt("bid");
 String name=rs.getString("name");
 String authorId=rs.getString("author_id")
}

如果业务当中的业务比较复杂,表非常多,各种操作数据库的增删改查的方法也比较多,那么这样代码会重复出现很多次。而去每次都要我们管理数据库的连接资源,如果忘记写就可能会造成数据库服务连接耗尽。这个就是我们通过JDBC的API去操作数据库的方法,这个仅仅是一个查询。如果我们项目当中的业务比较复杂,表非常多,各种操作数据库的增删改查的方法也比较多的话,那么这样代码会重复出现很多次。在每一段这样的代码里面,我们都需要自己去管理数据库的连接资源,如果忘记写
close()了,就可能会造成数据库服务连接耗尽。
另外还有一个问题就是处理业务逻辑和处理数据的代码是耦合在一起的。如果业务流程复杂,跟数据库的交互次数多,耦合在代码里面的SQL语句就会非常多。如果要修改业务逻辑,或者修改数据库环境(因为不同的数据库SQL语法略有不同),这个工作量是也是难以估计的。还有就是对于结果集的处理,我们要把ResultSet转换成POJO的时候,必须根据字段属性的类型一个个地去处理,写这样的代码是非常枯燥的:

int bid=rs.getInt("bid");
String name=rs.getString("name");
String authorId=rs.getString("author_id");
blog.setAuthorId(authorId);
blog.setBid(bid);
blog.setName(name);

也正是因为这样,我们在实际工作中是比较少直接使用JDBC的。那么我们在Java程序里面有哪些更加简单的操作数据库的方式呢?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kabutowang

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

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

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

打赏作者

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

抵扣说明:

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

余额充值