1.#{}与${}的区别
    #{}预编译 用的占位符 “?” 防止sql注入 默认取值方式[多个参数的情况下]:arg0取第一个值arg1 arg2
    ${}字符串拼接 拼接符 “+” 不可以防止sql注入 默认取值方式[多个参数的情况下]:param1 param2
    2.JDBC调用数据库的基本步骤
    1.导入mysql驱动包(或 sqlserver)
    2.链接数据库

    1. package dao;
    2. import java.sql.*;
    3. import java.util.*;
    4. //开流
    5. public class BaseDao {
    6. public static Connection getConn(){
    7. Connection conn=null;
    8. try {
    9. //链接mysql的数据库
    10. Class.forName("com.mysql.jdbc.Driver");
    11. conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/数据库名字","名字(root)","密码(root)");
    12. //链接sqlserver的数据库
    13. //Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    14. //conn=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databasename=数据库名字","sa","123");
    15. } catch (Exception e) {
    16. // TODO Auto-generated catch block
    17. e.printStackTrace();
    18. }
    19. return conn;
    20. }
    21. //关流
    22. public static void close(ResultSet rs, Statement ps,Connection conn){
    23. try {
    24. if(rs!=null){
    25. rs.close();
    26. }
    27. if(ps!=null){
    28. ps.close();
    29. }
    30. if(conn!=null){
    31. conn.close();
    32. }
    33. } catch (Exception e) {
    34. // TODO: handle exception
    35. e.printStackTrace();
    36. }
    37. }
    38. }

    4.冒泡排序

    1. public class MaoPao {
    2. public static void ShowMaoPao(int arr[]){
    3. int tem;
    4. for (int i=0;i<arr.length-1;i++){
    5. for (int j=0;j<arr.length-1-i;j++){
    6. if (arr[j+i]<arr[j]){
    7. tem=arr[j];
    8. arr[j]=arr[j+i];
    9. arr[j+i]=tem;
    10. }
    11. }
    12. }
    13. }
    14. public static void main(String[] args) {
    15. int arr[]=new int[]{10,11,1,5,55,12,89};
    16. MaoPao.ShowMaoPao(arr);
    17. System.out.println(Arrays.toString(arr));
    18. }

    5.选择排序

    1. public static void QueryXuanZe(int[] list){
    2. //取得最小值
    3. for (int i=0;i<list.length;i++){
    4. int temp;
    5. int min=i;//保存最小值
    6. //寻找第一个最小值
    7. for (int j=i+1;j<list.length;j++){
    8. if(list[min]>list[j]){
    9. min=j;
    10. }
    11. }
    12. //将找到的第i个最小值放在第一个位置
    13. temp=list[min];
    14. list[min]=list[i];
    15. list[i]=temp;
    16. System.out.println("第"+i+1+"趟");
    17. printAll(list);
    18. }
    19. }
    20. //打印
    21. private static void printAll(int[] list) {
    22. for (int value : list){
    23. System.out.println(value+"\t");
    24. }
    25. System.out.println();
    26. }
    27. public static void main(String[] args) {
    28. int list[]=new int[]{10,11,2,15,4,3,7};
    29. System.out.println("排序前:");
    30. printAll(list);
    31. QueryXuanZe(list);
    32. System.out.println("排序后");
    33. printAll(list);
    34. }

    6.hibernate的三种状态
    image.png
    7.equals与==的区别?

    1. ==是判断两个变量或实例是不是指向同一个内存空间,equals是判断两个变量或实例所指向的内存空间的值是不是相同
    2. ==是指对内存地址进行比较 , equals()是对字符串的内容进行比较

    3. ==指引用是否相同, equals()指的是值是否相同

    1.PNG

    8.Mysql的内置函数
    1)数学函数
    数学函数主要用于处理数字,包括整型、浮点数等。

    函数 作用
    ABS(x) 返回x的绝对值
    SELECT ABS(-1) — 返回1
    CEIL(x),CEILING(x) 返回大于或等于x的最小整数
    SELECT CEIL(1.5) — 返回2
    FLOOR(x) 返回小于或等于x的最大整数
    SELECT FLOOR(1.5) — 返回1
    RAND() 返回0->1的随机数
    SELECT RAND() —0.93099315644334
    RAND(x) 返回0->1的随机数,x值相同时返回的随机数相同
    SELECT RAND(2) —1.5865798029924
    SIGN(x) 返回x的符号,x是负数、0、正数分别返回-1、0和1
    SELECT SIGN(-10) — (-1)
    PI() 返回圆周率(3.141593)
    SELECT PI() —3.141593
    TRUNCATE(x,y) 返回数值x保留到小数点后y位的值(与ROUND最大的区别是不会进行四舍五入)
    SELECT TRUNCATE(1.23456,3) — 1.234
    ROUND(x) 返回离x最近的整数 SELECT ROUND(1.23456) —1
    ROUND(x,y) 保留x小数点后y位的值,但截断时要进行四舍五入
    SELECT ROUND(1.23456,3) — 1.235
    POW(x,y).POWER(x,y) 返回x的y次方
    SELECT POW(2,3) — 8
    SQRT(x) 返回x的平方根
    SELECT SQRT(25) — 5
    EXP(x) 返回e的x次方
    SELECT EXP(3) — 20.085536923188
    MOD(x,y) 返回x除以y以后的余数
    SELECT MOD(5,2) — 1
    LOG(x) 返回自然对数(以e为底的对数)
    SELECT LOG(20.085536923188) — 3
    LOG10(x) 返回以10为底的对数
    SELECT LOG10(100) — 2
    RADIANS(x) 将角度转换为弧度
    SELECT RADIANS(180) — 3.1415926535898
    DEGREES(x) 将弧度转换为角度
    SELECT DEGREES(3.1415926535898) — 180
    SIN(x) 求正弦值(参数是弧度)
    SELECT SIN(RADIANS(30)) — 0.5
    ASIN(x) 求反正弦值(参数是弧度)
    COS(x) 求余弦值(参数是弧度)
    ACOS(x) 求反余弦值(参数是弧度)
    TAN(x) 求正切值(参数是弧度)
    ATAN(x) ATAN2(x) 求反正切值(参数是弧度)
    COT(x) 求余切值(参数是弧度)

    2)字符串函数
    https://blog.csdn.net/hellokandy/article/details/82964077
    9.暂时性死区
    ELEMENT
    Element

    10.Servlet与Filter主要区别
    1.serclet流程是短的,url(路径)传来之后,就对其进行处理,之后返回或转向到某一自己指定的页面。它主要用来在业务处理之前进行控制。
    2.filter流程是线性的,url传来之后,检查之后,可保持原来的流程继续向下执行,被下一个filter,servlet接受等,而servlet处理之后,不会继续向下传递。filter功能可用来保持流程继续按照原来的方式进行下去,或者主导流程,而servlet的功能主要用来主导流程。filter可用来进行字符编码的过滤,检测用户是否登录的过滤,禁止页面缓存等。

    11.left join 和 right join的区别
    left join(左联接):返回左表中的所有记录和右表中与左表关联的记录,如果右表没有关联的记录,则=左表记录,否则就>左表记录;
    right join(右联接):返回右表中的所有记录和左表中与之关联的记录,如果左表没有关联的记录,则=右表记录,否则就>右表记录;

    12.java中的8种基本数据类型
    四类八种基本数据类型

    1. 整型 byte(1字节) short (2个字节) int(4个字节) long (8个字节)

    2.浮点型 float(4个字节) double(8个字节)

    3.逻辑性 boolean(八分之一个字节)

    4.字符型 char(2个字节,一个字符能存储下一个中文汉字)
    13.索引的作用和它的优缺点
    作用
    在数据库系统中建立索引主要有以下作用:
    (1)快速取数据;
    (2)保证数据记录的唯一性;
    (3)实现表与表之间的参照完整性;
    (4)在使用ORDER by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间。
    优缺点
    优点
    1.大大加快数据的检索速度;
    2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
    3.加速表和表之间的连接;
    4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
    缺点
    1.索引需要占物理空间。
    2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
    14.throws和throw的区别?
    throws:跟在方法声明后面,后面跟的是异常类名(可以抛出多个异常)
    throw:用在方法体内,后面跟的是异常类对象名(只能抛出一个异常)
    15.Mybatis和Mapper文件中#{}和¥{}的区别是什么?
    #{}预编译 用的占位符 “?” 防止sql注入 默认取值方式[多个参数的情况下]:arg0取第一个值arg1 arg2
    ${}字符串拼接 拼接符 “+” 不可以防止sql注入 默认取值方式[多个参数的情况下]:param1 param2