我的一些比较杂的记录

杂相

1.如何向Java的Date类型赋值
 DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
 Date date = dateformat.parse("1999-06-08");
 System.out.println(dateformat.format(date))
2.Jquery如何取下拉框选中相的值和单选框radio选中的值
<select id="needit">
    <option></option>
    <option></option>
    ........
</select>
$('#needit option:selected').val()
<div>
    <input type="radio" name = "S_sex" values = '1' text = "" />
    <input type="radio" name = "S_sex" values = '0' text = "" />
</div>
$('input[name="S_sex"] :checked').val()
3.mybatis如何在Mapper里面写模糊查询
<select id="somefunction" parameterType="something" resultType="something">
    select * from Student where S_name LIKE CONCAT(CONCAT('%','#{参数}'),'%')
</select>
4.thymeleaf可以在th:text里进行判断
<div>
    ....
    <td th:text = "${Student.getS_sex()==1? '':''}"></td>
</div>
<div>
    <div th:switch="${user.role}">
      <p th:case="'admin'">管理员</p>
      <p th:case="${roles.manager}">管理者</p>
      <p th:case="*">未知角色</p>
 	</div> <!--th:switch的用法-->
</div>
5.Java中如何除去List中重复的值
List<String> list = oldlist.stream().distinct().collect(Collectors.toList());      //新特性
Set<String> set = new HashSet()                  //利用Set的无重复特性
List<String> newlist =new ArrayList()
for(String temp:oldlist){
    if(set.add(temp)){
        newlist.add(temp);
    }
}
System.out.println(newlist);
6.在JS中凡是字符串的值都要加上单引号
<script type="text/javascript">
    <!--在js中使用Thymeleaf的内敛表达式-->
        data: [
           {value:  [[${Culture.getArmy().getF_num()}]], name: '[[${Culture.getArmy().getF_name()}]]'}        ]
     <!--以Echarts为例,若name属性不加上单引号则浏览器将报语法错误-->                                       
</script>
7.如何在Java SWing中设置圆角的按钮(甚至是圆形)
JButton btn = new JButton();
btn.setContentAreaFilled(false); //重要,这个函数决定按钮是否会去绘制按钮边框内的区域
                                     //默认为true,也就是默认按钮的银灰色区域,将它改为false,让它别去绘制
                                        //这样按钮就是一个方框,如果我们要这个方框变成圆角
                                          //我们要调用按钮的setBorder(new Border())方法
                                             //这个Border是一个接口,也就是说我们要定义一个类去实现它
                                                   //下面去实现它


class MyBorder implements Border{
    int Radius = 0;            //圆角半径
		
    public MyBorder(int R) {
        Radius = R;             //构造传入Radius
    }

    @Override
    public Insets getBorderInsets(Component arg0) {

        return new Insets(Radius+1, Radius+1, Radius+1, Radius); //给按钮填充默认的图片
                                                                 //在SetContentAreaFilled(false)后失效
    }

    @Override
    public boolean isBorderOpaque() {                           //设置边界透明,视觉上没用区别
                                                                 //不是很清楚
        // TODO Auto-generated method stub
        return true;
    }

    @Override
    public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
        g.drawRoundRect(x,y,width-1,height-1,Radius,Radius);           //调用Graphics显示类重画圆角矩形
                                                                       //按钮的边界就变成圆角了,

    }
}

此时我们再为按钮添加上边角透明的png图片,就可以很好的吻合,当设置的半径足够时,会绘制为一个近似圆形,也可以适配圆形按钮

public class TestFrame extends JFrame {
	
	private Container con;
	public TestFrame() {
		this.setVisible(true);
		this.setBounds(300, 400, 300, 200);
		this.setLayout(null);
		con = this.getContentPane();
		JButton btn = new JButton();
		btn.setBorder(new ComputerFrame.MyBorder(30));
		btn.setContentAreaFilled(false);
		con.add(btn);
		btn.setBounds(20, 50, 120, 50);
		btn.setIcon(new ImageIcon("Images/btn_exit.png"));
		
		btn.setForeground(Color.BLUE);
		
	}
	public static void main(String[] args) {
		TestFrame t1 = new TestFrame();
	}

}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c1vlgWf6-1631375927528)(C:\Users\ASUS\Pictures\无标题.png)]

效果如上

8.XML配置文件中的URL路径报错问题

例如高版本的mysql的URL

jdbc:mysql:localhosst:3306/banksys?useSSL=true?&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC

在xml的配置中会报语法错误(提示缺少;号,但其实是没用做转义)

根据以下进行转义

& 	<---------------->	 &amp;
<   <---------------->   &gt;
>   <---------------->   &lt;
"   <---------------->   &quot;
'   <---------------->   &apos;
connection.seturl = jdbc:mysql:localhost//3306/banksys?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=UTC
  • ==注意加最后;号==
9.Hibernate的方言选择问题
<property name="dialect">org.hibernate.dialect.MySQL8Dialect</property>

请一定要看准自己的数据库版本选择方言,

因为新老版本的mysql的数据引擎不同,5版本选MySQL5Dialect

​ 8版本选MySQL8Dialect

10.SQLserver连接出现错误
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:java.lang.RuntimeException: Could not generate DH key

方法:查看驱动的版本是不是和项目的JDK版本适配

以上错误出现于项目的JDK版本低于驱动要求的1.8

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YVxcM95Q-1631375927531)(F:\LocalTyproPictrue\f5af043f3974eb285e2afd17fd0998f4.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gqey2U7p-1631375927534)(F:\LocalTyproPictrue\14b7ff8279b1207ab108d6d99a7f1945.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-247p3gtb-1631375927537)(F:\LocalTyproPictrue\a075526b174ff9aa2ff04387a9b446e2-1627571023849.png)]

11.Spring读取外部properties文件的PropertyPalacehandleHoderConfiger已失效
//现已加入CONTEXT标签,用法如下
<context:property-placeholder location="jdbc.properties"></context:property-placeholder>
12.Mysql中的日期类型及其如何插入
datetime类型  默认格式为 'YYYY-MM-DD hh:mm:ss'
date    类型  默认格式为 'YYYY-MM-DD'
13.EL表达式在JS中的使用
<c:set var="contextPath" value="${pageContext.request.contextPath}" scope="application"/>
    <script>
        <%--JS gloable varilible--%>
        var contextPath = "${contextPath}";
    </script>
</c:set>
14.Model中的字符串类型不论是在EL表达式中还是thymeleaf中一定要用双引号括起来

特别是在AJAX中,字符串类型不加引号就会被JS理解为Undefind类型数据,从而传不了参,而是AJAX请求执行失败

 $('#Freeze${User.key.ID}').click(function(){
     $.post("${pageContext.request.contextPath}/Freeze",
            {"name":"${User.key.getUserName()}"}, //如果这里的User.key.GetUserName的类型是字符串一定要加双引号""
            function(result){                     //不然就无法执行这个AJAX请求
         alert('冻结成功');                        //不能   {"name":${User.key.getUserName()}}
		$('#showStatus${User.key.ID}').text('冻结');																});	
	                                     	        
});
15.Java取出文件格式,在用‘|’和‘.’字符分隔字符串时需要加入转移符
String Temp="jotaro.jpg";
String[] attrs = Temp.split("\\.");    //在用.等特殊符号分割时,需要添加转义符,否则会匹配失败,
for(String s:attrs){                   
    System.out.println(s);              //可以正确输出,输出结果为如下,成功取出了文件的后缀格式
}
//jotaro
//jpg
16.在Hibernate的关系映射配置文件中(XXX.hbm.xml)中,所有的Java类型都要改成小写开头
<property name="userName" type="String"></property> X
<property name="userName" type="string"></property> \/   
    

17.Hibernate映射boolean属性时报的没有getter方法错误,

如果boolean属性以isXXX为名,则eclipse自动创建其getter方法时不会在其前面添加get

所以解决方法就是再写一个getisXXX的方法给Hibernate提供getter

isAdmin(){          //eclipse自动生成的
	return isAdmin;
}
getisAdmin(){       //s
 	return isAdmin;
}
17.Hibernate5已将?占位符改为?1和?2这种跟着索引的占位符
18.struts没有定时跳转,无法在Action中用定时跳转,所以没有时间用于给respone弹alert给前端
//同时,由于直接使用respone在action或dispatchaction中进行跳转是没有效果的(不清楚是不是struts进行了干预)
//最后如需给前端弹alert就还是用javascript给按钮帮个函数进行alert吧

}
getisAdmin(){ //s
return isAdmin;
}


###### 17.Hibernate5已将?占位符改为?1和?2这种跟着索引的占位符

###### 18.struts没有定时跳转,无法在Action中用定时跳转,所以没有时间用于给respone弹alert给前端

```java
//同时,由于直接使用respone在action或dispatchaction中进行跳转是没有效果的(不清楚是不是struts进行了干预)
//最后如需给前端弹alert就还是用javascript给按钮帮个函数进行alert吧
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

罗马苏丹默罕默德

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

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

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

打赏作者

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

抵扣说明:

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

余额充值