最后
由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档
还有更多面试复习笔记分享如下
try {
properties.load(is);
} catch (IOException e) {
e.printStackTrace();
}
// 获取配置中的数据,从集合中获取
String driver = properties.getProperty(“driver”);
// 加载jdbc驱动
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// 获取连接对象
public Connection getConnection() {
// 获取配置中的数据,从集合中获取
String url = properties.getProperty(“url”);
String user = properties.getProperty(“user”);
String pwd = properties.getProperty(“pwd”);
// 获取连接对象
Connection connection = null;
try {
connection = DriverManager.getConnection(url, user, pwd);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
// 返回连接对象
return connection;
}
// 关闭资源
public void closeAll(Connection connection, Statement statement, ResultSet resultSet) {
// 按顺序删除
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
//通用的增删改
public int commonUpdate(String sql, Object[] objects) {
// 获取连接对象
Connection connection = getConnection();
// 构建执行者
PreparedStatement preparedStatement = null;
try {
preparedStatement = connection.prepareStatement(sql);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
// 填入数据
for (int i = 0; i < objects.length; i++) {
try {
preparedStatement.setObject(i + 1, objects[i]);
// preparedStatement.setNull(位置, Types.INTEGER);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
// 执行语句
int i = 0;
try {
i = preparedStatement.executeUpdate();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
// 返回受景响的行数
return i;
}
// 通用查询
public ResultSet commonSelect(String sql, Object[] objects) {
// 定义一个返回值
ResultSet resultSet = null;
// 获取连接对象
Connection connection = getConnection();
// 获得安全执行者
PreparedStatement preparedStatement = null;
try {
preparedStatement = connection.prepareStatement(sql);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
for (int i = 0; i < objects.length; i++) {
try {
assert preparedStatement != null;
preparedStatement.setObject(i + 1, objects[i]);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
// 安全执行者执行
try {
assert preparedStatement != null;
resultSet = preparedStatement.executeQuery();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
// 处理结果集
return resultSet;
}
}
MyBatisUtils
/**
- MyBatis工具类
*/
public class MyBatisUtils {
//创建SqlSession
private static SqlSession sqlSession;
//初始化创建SqlSession
static {
//工厂构建者
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
//MyBatis配置文件名称
String configName = “sqlMapConfig.xml”;
//定义输入流
InputStream is = null;
try {
//读取配置文件
is = Resources.getResourceAsStream(configName);
} catch (IOException e) {
e.printStackTrace();
}
//通过配置文件构建出工厂类
SqlSessionFactory ssf = ssfb.build(is);
//通过工厂类获取sqlSession
sqlSession = ssf.openSession(true);
}
//获取sqlSession
public static SqlSession getSqlsession(){
return sqlSession;
}
//归还sqlSession
public static void closeSqlsession(SqlSession sqlSession){
if (sqlSession!=null){
sqlSession.close();
}
}
}
MyBatisUtils
public class GeneratorSqlmap {
public void generator() throws Exception{
List warnings = new ArrayList();
boolean overwrite = true;
//指定 逆向工程配置文件
File configFile = new File(“generatorConfig.xml”);
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
callback, warnings);
myBatisGenerator.generate(null);
}
public static void main(String[] args) throws Exception {
try {
GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}
}
}
配置文件generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?><jdbcConnection driverClass=“com.mysql.cj.jdbc.Driver”
connectionURL=“jdbc:mysql://localhost:3306/demo1?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true”
userId=“root”
password=“root”>
<javaModelGenerator targetPackage=“com.demo.pojo”
targetProject=“.\src”>
<sqlMapGenerator targetPackage=“com.demo.mapper”
targetProject=“.\src”>
<javaClientGenerator type=“XMLMAPPER”
targetPackage=“com.demo.mapper”
targetProject=“.\src”>
public class DateUtil {
/**
- util.Date转字符串
*/
public static String getDateStr(Date date) {
// 实例化一个格式化对象
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);
// 把日期对象格式化
// 返回这个字符串
return sdf.format(date);
}
/**
- 字符串转成util.Date对象
*/
public static Date getDate(String dateStr) {
// 实例化一个格式化对象
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);
// 日期格式解析
Date date = null;
try {
date = sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
// 返回日期
return date;
}
}
public class MD5Util {
/**
最后
小编利用空余时间整理了一份《MySQL性能调优手册》,初衷也很简单,就是希望能够帮助到大家,减轻大家的负担和节省时间。
关于这个,给大家看一份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。
这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!
sdf.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
// 返回日期
return date;
}
}
public class MD5Util {
/**
最后
小编利用空余时间整理了一份《MySQL性能调优手册》,初衷也很简单,就是希望能够帮助到大家,减轻大家的负担和节省时间。
关于这个,给大家看一份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。
[外链图片转存中…(img-qr6tLODK-1714845045143)]
这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!