首页
友链
Search
1
01-快捷命令
134 阅读
2
寒假计划
129 阅读
3
浏览器规范(ES module)和 node.js 规范(Common JS)
121 阅读
4
03-概念解析
120 阅读
5
学期计划(大三下学期)
103 阅读
计划
算法
面试题
运维
Ansible
Linux
数据库
neo4j
共用
web 前端
CSS
JavaScript
Vue
Node.js
英语单词
工程化
JAVA
mysql
收获
面试
mybatis
Spring
基础
spring-mvc
问题
项目
宠物乐园
速查
问题集
git
学习
sql
二阶段
登录
Search
标签搜索
spring
mysql
vue
ansible
CSS
面试
计划
收获
JAVA面试题
spring-mvc
Starrylsi
累计撰写
106
篇文章
累计收到
37
条评论
首页
栏目
计划
算法
面试题
运维
Ansible
Linux
数据库
neo4j
共用
web 前端
CSS
JavaScript
Vue
Node.js
英语单词
工程化
JAVA
mysql
收获
面试
mybatis
Spring
基础
spring-mvc
问题
项目
宠物乐园
速查
问题集
git
学习
sql
二阶段
页面
友链
搜索到
51
篇与
的结果
2024-09-09
02-mybatis 配置和方法参数
目标熟练配置mybatis-config.xml{dotted startColor="#6c4747" endColor="#1989fa"/}方法参数1.properis 配置属性<properties resource="jdbc.properties" />2.settings 配置设置<settings> <!-- 自动识别驼峰命名和数据库命名 --> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings>3.typeAliases 配置别名<typeAliases> <!-- 单独配置指定的类 和它的别名 --> <!-- <typeAlias type="com.zhuama.pojo.User" alias="user"/> --> <!-- 指定包中的所有类 都含有别名 默认是类名首字母小写 可以在类中使用@Alias注解给类起别名 但一般不推荐 --> <package name="com.zhuama.pojo"/> </typeAliases>4.typeHandler 类型处理器5.environments 环境配置<environments default="test"> <!-- 开发环境 --> <environment id="development"> <transactionManager type="JDBC" /> <!-- dataSource 数据源 POOLED 表示使用数据库连接池 --> <dataSource type="POOLED"> <property name="driver" value="${driverClassName}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource> </environment> <!-- 测试环境 --> <environment id="test"> <!-- 配置事务管理器 --> <transactionManager type="JDBC" /> <!-- 配置数据库连接池 --> <dataSource type="com.zhuama.factory.DruidFactory" /> </environment> </environments>6.配置不同数据库执行对应的sql<!-- 配置自动识别不同的数据库执行不同的sql语句 --> <databaseIdProvider type="DB_VENDOR"> <property name="Oracle" value="oracle"/> <property name="MySQL" value="mysql"/> </databaseIdProvider>7.加载sql文件的配置<mappers> <!-- 直接加载指定的xml文件 --> <!-- <mapper resource="com/zhuama/mapper/UserMapper.xml" /> --> <!-- 使用文件路径加载指定的xml --> <!-- <mapper url="file:///D:\0422SSMWorkspace\mybatis-day02-setting\src\com\zhuama\mapper\UserMapper.xml" /> --> <!-- 使用类名加载xml 要求文件名必须与对应的接口名一致 --> <!-- <mapper class="com.zhuama.mapper.UserMapper" /> --> <!-- 读取指定包中的xml --> <package name="com.zhuama.mapper"/> </mappers>8.使用注解实现增删改查mybatis-config.xml配置案例<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 配置文件标签 --> <properties resource="jdbc.properties" /> <!-- 配置mybatis的设置功能 --> <settings> <!-- 自动识别驼峰命名和数据库命名 --> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <!-- 配置别名 --> <typeAliases> <!-- 单独配置指定的类 和它的别名 --> <!-- <typeAlias type="com.zhuama.pojo.User" alias="user"/> --> <!-- 指定包中的所有类 都含有别名 默认是类名首字母小写 可以在类中使用@Alias注解给类起别名 但一般不推荐 --> <package name="com.zhuama.pojo"/> </typeAliases> <environments default="test"> <!-- 开发环境 --> <environment id="development"> <transactionManager type="JDBC" /> <!-- dataSource 数据源 POOLED 表示使用数据库连接池 --> <dataSource type="POOLED"> <property name="driver" value="${driverClassName}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource> </environment> <!-- 测试环境 --> <environment id="test"> <!-- 配置事务管理器 --> <transactionManager type="JDBC" /> <!-- 配置数据库连接池 --> <dataSource type="com.zhuama.factory.DruidFactory" /> </environment> </environments> <!-- 引入sql语句对应的配置文件 --> <!-- 配置自动识别不同的数据库执行不同的sql语句 --> <databaseIdProvider type="DB_VENDOR"> <property name="Oracle" value="oracle"/> <property name="MySQL" value="mysql"/> </databaseIdProvider> <mappers> <!-- 直接加载指定的xml文件 --> <!-- <mapper resource="com/zhuama/mapper/UserMapper.xml" /> --> <!-- 使用文件路径加载指定的xml --> <!-- <mapper url="file:///D:\0422SSMWorkspace\mybatis-day02-setting\src\com\zhuama\mapper\UserMapper.xml" /> --> <!-- 使用类名加载xml 要求文件名必须与对应的接口名一致 --> <!-- <mapper class="com.zhuama.mapper.UserMapper" /> --> <!-- 读取指定包中的xml --> <package name="com.zhuama.mapper"/> </mappers> </configuration>
2024年09月09日
11 阅读
0 评论
0 点赞
2024-09-09
01-MyBatis 添删改查基础操作
mybites 添删改查的三种实现方法
2024年09月09日
8 阅读
0 评论
0 点赞
2024-09-08
02-JavaSE面试题
面试题集1.填空题{x}1.Java application中的主类需要包含main方法,main方法的返回类型是_____.{ }2.移位运算符可以起到对操作数乘以2或者除以2的作用,那么操作数除以2的移位操作的运算符是___。{ }3.System.out.println(true?false:true==true?false:true);输出结果为______。{x}4.在Java中对于基本类型变量,Java是传值的副本;对于一切对象型变量,Java都是传______的副本。{ }5.Java中提供了一些和垃圾回收打交道的类,而且提供了一种强制执行垃圾回收的方法,通过执行 ______,可以向JVM发出这样一个申请,但到底是否真正执行垃圾收集,一切都是个未知数。{ }6.定义一个整型数组arr,它有5个元素分别是1、2、3、4、5。用一个语句实现对数组y的声明、创建和赋值_______。{ }7.如果一个类定义了几个相同名字的方法,且这些方法的参数都是整数类型,则这些方法的 ______必须是不同的,这种现象称为方法的重载。{x}8.在Java中,有时会遇到子类中的成员变量或方法与父类中的成员变量或方法同名。如果我们想使用父类中的这个成员变量或方法,就需要用到______关键字。{ }9.增强型for循环可以遍历数组,也可以遍历实现了______接口的集合类型。但增强型for循环不可替代for循环,因为它无法处理和下标相关的数组遍历操作。{x}10.需要存储元素到某种数据结构中,而且要确保元素在自然队列中没有重复,Java中的______接口能保证这种能力。{x}11.______是Java SE1.5的新特性,其本质是参数化类型,也就是说,所操作的数据类型被指定为一个参数。这种类参数类型可用在类、接口和方法的创建中。{ }12.String s=”a”+”b”+”c”;一共创建了______个对象。{ }13.DateFormat类能够灵活定义日期显示格式,在结果中输出“2016年2月 14日”的形式,则完整的定义语句应该是______{x}14.在Java程序运行时,常常会出现一些非正常的现象。根据其严重程度的不同可以分为Error和______。{ }15.按照线程的模型,一个具体的线程也是由虚拟的______、代码和数据组成,其中代码与数据构成了线程体,线程的行为由它决定。{ }16.正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须使用______关键字进行同步存取。{ }17.Java的IO操作中有面向字节和面向字符两种方式。面向字节的操作以______位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和OutputStream的子类。{ }18.有且仅有一个抽象方法的接口叫做函数式接口,函数式接口可以被隐式转换为 Lambda 表达式。通常函数式接口上会添加_______注解{ }19.Java 8 新增了接口的______方法和_______方法
2024年09月08日
14 阅读
0 评论
0 点赞
2024-09-08
01-String
暂无简介
2024年09月08日
10 阅读
0 评论
0 点赞
2024-09-08
07-数据库的连接
目标掌握连接数据库的四个步骤理解工厂模式概念1.工厂模式三种工厂模式都是为了解决对象创建过程中的耦合问题,使得系统更容易扩展和维护。简单工厂模式适用于创建逻辑相对简单的情况;工厂方法模式适用于有多个产品族需要创建的情况;抽象工厂模式适用于需要创建一系列相关或依赖的产品对象的情况。2.java为了保证支持所有的数据库 提供给所有的数据库厂商三个核心接口 Connection 连接Statement 语句ResultSet 结果集3.java访问数据库 需要提供四个步骤{timeline}{timeline-item color="#19be6b"}1.注册驱动{/timeline-item}{timeline-item color="#19be6b"}2.提供数据库的url 规则:jdbc:mysql://ip:端口号/database名称{/timeline-item}{timeline-item color="#19be6b"}3.提供用户名、密码{/timeline-item}{timeline-item color="#19be6b"}4.根据参数 生成Connection对象{/timeline-item}{/timeline}导入jar包1.根目录新建文件夹命名为 lib2.右键jar包->添加至构建路径案例都是三个阶段: 1.准备(获取连接,定义sql,定义statement或prepareStatement)2.使用(stmt.executeUpdate,存储参数和pstmt.executeUpdate)3.销毁(关流).connection案例代码public class ConnectionTest { public static void main(String[] args) { try { //1.注册驱动 //DriverManager.registerDriver(new Driver()); //1.1也可以使用反射加载驱动 //1.8版本之后 可以不加载 自动加载 // Class.forName("com.mysql.jdbc.Driver"); //2.提供数据库的url String url = "jdbc:mysql://localhost/?"; //3.提供用户名、密码 String password = "?"; String username = "?"; //4.生成连接对象 Connection con= DriverManager.getConnection(url, username,password); System.out.println(con); } catch (SQLException e) { e.printStackTrace(); } } }statement案例代码public class StatementTest { public static void main(String[] args) { //1.获取连接 Connection conn = JDBCUtils.getConnection(); Date date = new Date(); //2.定义sql String sql = "insert into test6(name,password,create_date) " + "values('李思','123','"+ new java.sql.Date(date.getTime()) +"')"; //3.获取Statement对象 Statement stmt = null; try { stmt = conn.createStatement(); //4.执行DML语句时 使用executeUpdate int result = stmt.executeUpdate(sql); System.out.println(result > 0 ? "添加成功" : "添加失败"); } catch (SQLException e) { e.printStackTrace(); } finally { //5.关流 JDBCUtils.close(conn,stmt); } } } prepareStatement 案例代码/** * 由于Statement存储数据时需要拼接字符串 * 会造成sql注入问题 * * sql注入:拼接字符串时 被强行插入不符合规则数据 造成数据库宕机 * * 所以java提供了Statement接口的子接口 * PreparedStatement 可以用来提供可变参数 * * * * * * */ public class PrepareTest { public static void main(String[] args) { //1.获取连接 Connection conn = JDBCUtils.getConnection(); //2.声明PreparedStatement对象 PreparedStatement pstmt = null; //3.定义sql String sql = "insert into test6 values(null,?,null,?)"; try { //4.生成pstmt对象 pstmt = conn.prepareStatement(sql); //5.存储参数 pstmt.setString(1, "赵柳"); pstmt.setDate(2, new java.sql.Date(new Date().getTime())); //6.执行sql并获取返回值 int result = pstmt.executeUpdate(); System.out.println(result > 0 ? "添加成功" : "添加失败"); } catch (SQLException e) { e.printStackTrace(); } finally { //7.关流 JDBCUtils.close(conn, pstmt); } } } result 案例代码查询多行数据public class ResultSetTest1 { public static void main(String[] args) { //0.声明一个Person对象 Person person = null; //1.获取连接 Connection conn = JDBCUtils.getConnection(); //2.声明pstmt和rs对象 PreparedStatement pstmt = null; ResultSet rs = null; //3.定义sql String sql = "select * from test6 where id = ?"; try { //4.根据sql生成pstmt pstmt = conn.prepareStatement(sql); //5.传递参数 pstmt.setInt(1, 2); //6.执行sql并获取rs对象 rs = pstmt.executeQuery(); //7.遍历rs对象 并获取数据 while(rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); String password = rs.getString("password"); Date createDate = rs.getDate("create_date"); person = new Person(id, name, password, createDate); } } catch (SQLException e) { e.printStackTrace(); } finally { JDBCUtils.close(conn, pstmt, rs); } System.out.println(person); } }
2024年09月08日
18 阅读
0 评论
0 点赞
1
...
7
8
9
...
11