杂相
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的配置中会报语法错误(提示缺少;号,但其实是没用做转义)
根据以下进行转义
& <----------------> &
< <----------------> >
> <----------------> <
" <----------------> "
' <----------------> '
connection.seturl = jdbc:mysql:localhost//3306/banksys?useSSL=true&useUnicode=true&characterEncoding=utf-8&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吧