工作笔记00
1、mysql中查询一个数据库中的所有表
SELECT
table_name,
table_comment
FROM
information_schema.tables
WHERE table_schema = 'ysy_cat';
2、mybatis plus查询日期区间
<if test="beginDate != null">
AND soo.stock_out_date <![CDATA[>=]]> #{beginDate}
</if>
<if test="endDate != null">
AND soo.stock_out_date <![CDATA[<=]]>#{endDate}
</if>
3、mysql中将datetime转换为date类型:
SELECT CONVERT('传入的时间',DATE)
4、mybatis中if-else写法
<choose>
<when test="item.id != null and item.id !=''">
#{item.id,jdbcType=CHAR},
</when>
<otherwise>
'',
</otherwise>
</choose>
5、sourcetree錯誤:error: Your local changes to the following files would be overwritten by merge:解決办法
git stash
git pull origin master
git stash pop
6、mybatis中模糊查询
AND u.name LIKE CONCAT(CONCAT('%',#{applicantId},'%'))
7、
<insert id="insertStockOutOrder" parameterType="com.yunsunyun.entity.monitor.po.CaStockOutOrder">
<selectKey resultType ="java.lang.Long" keyProperty= "id" order= "AFTER">
SELECT LAST_INSERT_ID()
</selectKey >
INSERT INTO ca_stock_out_order (warehouse_id,code,create_id,create_time)
VALUE (#{warehouseId},#{code},#{createId},#{createTime})
</insert>
<insert id="insertStockOutOrderItem" parameterType="java.util.List">
<selectKey resultType ="java.lang.Long" keyProperty= "id" order= "AFTER">
SELECT LAST_INSERT_ID()
</selectKey >
INSERT INTO ca_stock_out_order_item (stock_out_order_id,asset_id,quantity,in_order_item_type)
values
<foreach collection ="list" item="orderItemVos" index= "index" separator =",">
(
#{orderItemVos.stockOutOrderId}, #{orderItemVos.assetId},
#{orderItemVos.quantity},
#{orderItemVos.orderItemType}
)
</foreach >
</insert>
---------
select STR_TO_DATE(#{startTime},'%H:%i:%s')
将字符串转为想要的时间格式
select str_to_date(‘09/01/2009’,’%m/%d/%Y’)
select str_to_date(‘20140422154706’,’%Y%m%d%H%i%s’)
select str_to_date(‘2014-04-22 15:47:06’,’%Y-%m-%d %H:%i:%s’)
-----------------------------------
<!-- 批量插入生成的兑换码 -->
2 <insert id ="insertCodeBatch" parameterType="java.util.List" >
3 <selectKey resultType ="java.lang.Integer" keyProperty= "id"
4 order= "AFTER">
5 SELECT LAST_INSERT_ID()
6 </selectKey >
7 insert into redeem_code
8 (bach_id, code, type, facevalue,create_user,create_time)
9 values
10 <foreach collection ="list" item="reddemCode" index= "index" separator =",">
11 (
12 #{reddemCode.batchId}, #{reddemCode.code},
13 #{reddemCode.type},
14 #{reddemCode.facevalue},
15 #{reddemCode.createUser}, #{reddemCode.createTime}
16 )
17 </foreach >
18 </insert >
-------------------------------
获取上个月,下个月
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Date dt = sdf.parse(yearsMonth);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.MONTH, -1);
Date dt1 = rightNow.getTime();
-------------------------
日期校验
public boolean isValidDate(String s){
try {
// 指定日期格式为四位年/两位月份/两位日期,注意yyyy-MM-dd其中MM为大写
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm");
// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2004/02/29会被接受,并转换成2004/03/01
dateFormat.setLenient(false);
dateFormat.parse(s);
return true;
}catch (Exception e) {
// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
return false;
}
}
-------------------------------
CONCAT_WS(' ',(SELECT DATE_FORMAT(applicant.start_date,'%Y-%m-%d')), CONCAT((SELECT DATE_FORMAT(applicant.start_date,'%H:%i')),'-',(SELECT DATE_FORMAT(applicant.end_date,'%H:%i')))) AS times,
----------------------------------------------------
java获取移动端ip地址
String ipAddress = request.getRemoteAddr();
if(ipAddress.equals("127.0.0.1") || ipAddress.equals("0:0:0:0:0:0:0:1")){
//根据网卡获取本机配置的IP地址
InetAddress inetAddress = null;
try {
inetAddress = InetAddress.getLocalHost();
}
catch (UnknownHostException e) {
e.printStackTrace();
}
ipAddress = inetAddress.getHostAddress();
}
//对于通过多个代理的情况,第一个IP为客户端真实的IP地址,多个IP按照','分割
if(null != ipAddress && ipAddress.length() > 15){
if(ipAddress.indexOf(",") > 0){
ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
}
}
-------------------------------------------
前台出入的日期格式化
@DateTimeFormat(pattern = "yyyy-MM")@RequestParam(value = "date", required = false) Date date
---将一个集合对象中的某个对象转为集合
List<Long> collect = tempAssetInOrderVos.stream().map(TempAssetInOrderVo::getId).collect(Collectors.toList());
----------------------
lsof -i:8082查看端口是否被使用
-----------------------------------------------
Arrays.asList()不能进行其他操作,建议实现 Arraylist<?> list = new Arraylist(Arrays.asList());
=========================================
a123
<<<<<<< HEAD
b789
=======
b45678910
>>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcc
c
其中:冲突标记<<<<<<< (7个<)与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。
----------------------------mysql if
IF( ty.name IS NULL , atype.`name` , CONCAT(ty.name,'/',atype.`name`))
maven私服上传jar包:mvn deploy:deploy-file -Dfile=D:\maven_repository\com\infiniteautomation\modbus4j\3.0.3\modbus4j-3.0.3.jar -DgroupId=com.infiniteautomation -DartifactId=modbus4j -Dversion=3.0.3 -Dpackaging=jar -DrepositoryId=maven-3rd -Durl=http://192.168.1.105:8081/repository/maven-3rd/
service层加事务
@Transactional(rollbackFor = Exception.class)
mysql数据库连接:
url: jdbc:mysql://192.168.1.105:3306/ysy_post_admin?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
mybatis批量插入:
<insert id="batchInsertItem" parameterType="java.util.List">
INSERT into ca_temporary_stock_out_order_item (temporary_stock_out_order_id,temporary_asset_id,quantity)
values
<foreach collection="list" item="item" index="index" separator=",">
(
#{outId},
#{item.id},
#{item.num}
)
</foreach>
</insert>
Java8 求本月的第一天和最后一天
public class DateDemo {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
//本月的第一天
LocalDate firstday = LocalDate.of(today.getYear(),today.getMonth(),1);
//本月的最后一天
LocalDate lastDay =today.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("本月的第一天"+firstday);
System.out.println("本月的最后一天"+lastDay);
}
}
查询code最新的value,但每个code对应的值只能有最新的一条:
SELECT a.`code`,a.`value`
FROM ca_idc_drawing a INNER JOIN
(SELECT `code`,MAX(create_time) createTime FROM ca_idc_drawing GROUP BY `code`) b ON a.`code` = b.`code` AND a.create_time = b.createTime
WHERE a.idc_id=2
SELECT `code`,`value` FROM (SELECT `code`,`value` FROM ca_idc_drawing WHERE idc_id=2 ORDER BY create_time DESC LIMIT 100000) a GROUP BY `code`
SELECT a.`code`,a.`value` FROM
(SELECT `code`,MAX(create_time) createTime FROM ca_idc_drawing GROUP BY `code`) b INNER JOIN
ca_idc_drawing a ON a.`code` = b.`code` AND UNIX_TIMESTAMP(a.create_time) = UNIX_TIMESTAMP(b.createTime)
select a.`code`,a.`value` from (select `code`,max(id) id,max(create_time) createTime from test group by `code`) b inner join
test a on a.`code` = b.`code` and a.create_time = b.createTime and a.id = b.id
Map批量更新:
<update id="updateCommu" parameterType="java.util.Map">
<foreach collection="updateCommu.entrySet()" index="index" item="item" separator=";">
update am_taiwan_area set
<if test="item != null">
communication = #{item}
</if>
where code = #{index}
</foreach>
</update>
//查看某个数据库中是否存在某表
SELECT COUNT(1) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='ysy_ammeter' AND TABLE_NAME='am_no_meter_reading_2018'
//拉姆达排序
List<User> list1 = new ArrayList<User>();
User user = new User("张三", "15", "男");
User user1 = new User("李四", "10", "男");
list1.add(user);
list1.add(user1);
//1、年龄升序
list1.sort((a,b) -> a.getAge().compareTo(b.getAge()));
//2、姓名降序排列
list1.sort(Comparator.comparing(User::getName).reversed());
//等价于 2
list1.sort(Comparator.comparing(a->((User)a).getAge()).reversed());
//3、先按性别排,如果年龄相同,再按年龄排序
list1.sort(Comparator.comparing(User::getSex).reversed().thenComparing(User::getAge));
浙公网安备 33010602011771号