当前位置: 首页 > news >正文

java持久层_java访问持久层技术的进化

1. pojo(简单的java,直接访问DB)

A. 导入所需的jar包

import com.mysql.jdbc.Connection;

import com.mysql.jdbc.PreparedStatement;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

B. 获取与数据库的连接

private static Connection getConn() {

String driver = "com.mysql.jdbc.Driver";

String url = "jdbc:mysql://localhost:3306/samp_db";

String username = "root";

String password = "";

Connection conn = null;

try {

Class.forName(driver); //classLoader,加载对应驱动

conn = (Connection) DriverManager.getConnection(url, username, password);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

return conn;

}

C.拿着连接cnn去操作数据库获取PreparedStatement

private static Integer getAll() {

Connection conn = getConn();

String sql = "select * from students";

PreparedStatement pstmt;

try {

pstmt = (PreparedStatement)conn.prepareStatement(sql);

ResultSet rs = pstmt.executeQuery();

int col = rs.getMetaData().getColumnCount();

System.out.println("============================");

while (rs.next()) {

for (int i = 1; i <= col; i++) {

System.out.print(rs.getString(i) + "\t");

if ((i == 2) && (rs.getString(i).length() < 8)) {

System.out.print("\t");

}

}

System.out.println("");

}

System.out.println("============================");

} catch (SQLException e) {

e.printStackTrace();

}

return null;

}

2.spring jdbcTemplate(jdbc模板访问DB)

A. 配置数据源-applicationcontext.xml

B. 配置连接池-applicationcontext.xml

C. 注入java中并使用

@Autowired

private JdbcTemplate jdbcTemplate;

.....

String sql = "SELECT * FROM stu"

return jdbcTemplate.queryForList(sql);

3.   ORM技术框架(对象-关系映射技术)

3.1 MyBatis(前身是iBatis)

另见博客!:https://my.oschina.net/u/3697586/blog/1924307

3.2 Hibernate

3.3 JPA

相关文章:

  • java set encoding file_系统变量file.encoding对Java的运行影响有多大?(转)good
  • java运行一段时间变慢_tomcat 运行程序很慢 运行一段时间就报错: java.lang.OutOfMemoryError: PermGen space...
  • java的开发人员数量_Java开发人员最容易出现的几类错误
  • 字符串加减转数字java_剑指Offer解题报告(Java版)——字符串转换为数字 49
  • Java txt 下拉刷新_「小程序JAVA实战」小程序页面的上拉下拉刷新(50)
  • Java语言西安交大高起专_2018年西安交大网络学院高起专/本英语入学考试复习题...
  • php 生成不了zip文件怎么打开吗,PHP生成压缩包,不带根目录 | 学步园
  • php变量持有对象的引用,我对PHP变量引用、对象引用的理解
  • php 自动填写表单,PHP自动生成表单代码分享
  • 记事本底部的java切换,如何使用java操作记事本(转)
  • php类调用类外变量吗,如何调用类外的变量
  • matlab中单相整流器,一种新型单相脉冲整流器的MATLAB仿真研究
  • matlab中支持向量机网格,MATLAB中SVM(支持向量机)的用法
  • mysql出现帮助,MySQL之帮助的使用
  • 不会matlab下载,下载的用MATLAB实现的DTW算法,不会用,跪求大神帮忙
  • @angular/forms 源码解析之双向绑定
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • css布局,左右固定中间自适应实现
  • Fabric架构演变之路
  • IOS评论框不贴底(ios12新bug)
  • JS变量作用域
  • Rancher如何对接Ceph-RBD块存储
  • 代理模式
  • 第十八天-企业应用架构模式-基本模式
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 前端面试之闭包
  • 入手阿里云新服务器的部署NODE
  • 少走弯路,给Java 1~5 年程序员的建议
  • 双管齐下,VMware的容器新战略
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 一文看透浏览器架构
  • No resource identifier found for attribute,RxJava之zip操作符
  • MPAndroidChart 教程:Y轴 YAxis
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #pragma once
  • #QT(TCP网络编程-服务端)
  • #stm32驱动外设模块总结w5500模块
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (1)(1.9) MSP (version 4.2)
  • (70min)字节暑假实习二面(已挂)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (转)h264中avc和flv数据的解析
  • *** 2003
  • .cn根服务器被攻击之后
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net framework4与其client profile版本的区别
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .NET建议使用的大小写命名原则
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • ?.的用法
  • @拔赤:Web前端开发十日谈