V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  jorneyr  ›  全部回复第 79 页 / 共 83 页
回复总数  1655
1 ... 71  72  73  74  75  76  77  78  79  80 ... 83  
2018-11-15 19:53:50 +08:00
回复了 seiye 创建的主题 Apple 这个配置升级 MacOS Mojave 会不会卡到死?
我的 2013 15 寸 MBP 最低配跑 Mojave 很快, 一点也不卡, 按道理你的配置比我的高一些.
压缩操作询问好几次, 麻烦
2018-11-14 13:34:52 +08:00
回复了 xoxo419 创建的主题 程序员 查了一些 api 接口认证的方式 大家用的那种方式比较多呢?
OAuth 2.0 和 API KEY
2018-11-13 16:12:19 +08:00
回复了 Jex 创建的主题 Java 有多少 Java 程序员用 jOOQ ?
@qiyuey 有更好的办法吗?
2018-11-13 15:01:38 +08:00
回复了 Jex 创建的主题 Java 有多少 Java 程序员用 jOOQ ?
看一个我们的 mapper 吧, 绝大部分都不是单表语句, 觉得 MyBatis 比较合适:

```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--namespace 非常重要:必须是 Mapper 类的全路径-->
<mapper namespace="ebag.mapper.ClazzMapper">
<!-- 老师或者学生的列 -->
<sql id="student_or_teacher_columns">
user.id AS id,
user.username AS username,
user.nickname AS nickname,
user.avatar AS avatar,
user.school_id AS school_id,
user.is_enabled AS is_enabled,
user.gender AS gender,
clazz.name AS clazz_name,
clazz.code AS clazz_code,
clazz.phase AS clazz_phase,
clazz.id AS clazz_id,
cts.subject AS clazz_subject
</sql>

<!-- 查找学校的班级 -->
<select id="findClazzesBySchoolId" resultType="Clazz">
SELECT id, school_id AS schoolId, code, name, phase, grade, type,
enrollment_year AS enrollmentYear, graduation_year AS graduationYear
FROM clazz
WHERE school_id = #{schoolId} AND is_history=#{history}
</select>

<!-- 查询指定 ID 的班级 -->
<select id="findClazzById" parameterType="long" resultType="Clazz">
SELECT id, school_id AS schoolId, code, name, phase, grade, type,
enrollment_year AS enrollmentYear, graduation_year AS graduationYear
FROM clazz WHERE id = #{clazzId}
</select>

<!-- 查找学校的老师 -->
<select id="findTeachersBySchoolId" resultMap="teacherResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM (
SELECT * FROM user
WHERE school_id = #{schoolId} AND role = 'ROLE_TEACHER'
LIMIT #{offset}, #{count}
) AS user
LEFT JOIN clazz_teacher_subject AS cts ON cts.teacher_id = user.id
LEFT JOIN clazz ON clazz.id = cts.clazz_id
</select>

<!-- 使用账号查找学校的老师 -->
<select id="findTeachersBySchoolIdAndUsernameLike" resultMap="teacherResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM (
SELECT * FROM user
WHERE school_id = #{schoolId} AND role = 'ROLE_TEACHER' AND username LIKE CONCAT('%', #{username}, '%')
LIMIT #{offset}, #{count}
) AS user
LEFT JOIN clazz_teacher_subject AS cts ON cts.teacher_id = user.id
LEFT JOIN clazz ON clazz.id = cts.clazz_id
</select>

<!-- 使用昵称查找学校的老师 -->
<select id="findTeachersBySchoolIdAndNicknameLike" resultMap="teacherResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM (
SELECT * FROM user
WHERE school_id = #{schoolId} AND role = 'ROLE_TEACHER' AND nickname LIKE CONCAT('%', #{nickname}, '%')
LIMIT #{offset}, #{count}
) AS user
LEFT JOIN clazz_teacher_subject AS cts ON cts.teacher_id = user.id
LEFT JOIN clazz ON clazz.id = cts.clazz_id
</select>

<!-- 查找学校的学生 -->
<select id="findStudentsBySchoolId" resultMap="studentResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM (
SELECT * FROM user
WHERE school_id = #{schoolId} AND role='ROLE_STUDENT'
LIMIT #{offset}, #{count}
) AS user
LEFT JOIN clazz_student AS cs ON cs.student_id = user.id
LEFT JOIN clazz ON clazz.id = cs.clazz_id
LEFT JOIN clazz_teacher_subject cts ON cts.clazz_id = cs.clazz_id
</select>

<!-- 使用账号查找学校的学生 -->
<!-- 注意 LIMIT 必须放到子查询内部,否则数量限制不对 -->
<select id="findStudentsBySchoolIdAndUsernameLike" resultMap="studentResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM (
SELECT * FROM user
WHERE school_id = #{schoolId} AND role='ROLE_STUDENT' AND username LIKE CONCAT('%', #{username}, '%')
LIMIT #{offset}, #{count}
) AS user
LEFT JOIN clazz_student AS cs ON cs.student_id = user.id
LEFT JOIN clazz ON clazz.id = cs.clazz_id
LEFT JOIN clazz_teacher_subject cts ON cts.clazz_id = cs.clazz_id
</select>

<!-- 使用名字查找学校的学生 -->
<select id="findStudentsBySchoolIdAndNicknameLike" resultMap="studentResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM (
SELECT * FROM user
WHERE school_id = #{schoolId} AND role='ROLE_STUDENT' AND nickname LIKE CONCAT('%', #{nickname}, '%')
LIMIT #{offset}, #{count}
) AS user
LEFT JOIN clazz_student AS cs ON cs.student_id = user.id
LEFT JOIN clazz ON clazz.id = cs.clazz_id
LEFT JOIN clazz_teacher_subject cts ON cts.clazz_id = cs.clazz_id
</select>

<!-- 查找班级下的老师 -->
<select id="findTeachersByClazzId" resultMap="teacherResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM clazz_teacher_subject cts
LEFT JOIN clazz ON clazz.id = cts.clazz_id
LEFT JOIN user ON user.id = cts.teacher_id
WHERE cts.clazz_id = #{clazzId}
</select>

<!-- 查找班级下的所有学生 -->
<select id="findStudentsByClazzId" resultMap="studentResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM clazz_student cs
LEFT JOIN user ON user.id = cs.student_id
LEFT JOIN clazz ON clazz.id = cs.clazz_id
LEFT JOIN clazz_teacher_subject cts ON cts.clazz_id = cs.clazz_id
WHERE cs.clazz_id=#{clazzId}
ORDER BY cs.student_username
</select>

<!-- 查找指定 ID 的老师 -->
<select id="findTeacherById" resultMap="teacherResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM clazz_teacher_subject cts
LEFT JOIN clazz ON clazz.id = cts.clazz_id
LEFT JOIN user ON user.id = cts.teacher_id
WHERE cts.teacher_id = #{teacherId}
</select>

<!-- 查找指定 ID 的老师 -->
<select id="findTeacherByClazzIdAndSubject" resultMap="teacherResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM clazz_teacher_subject cts
LEFT JOIN clazz ON clazz.id = cts.clazz_id
LEFT JOIN user ON user.id = cts.teacher_id
WHERE cts.clazz_id = #{clazzId} AND cts.subject = #{subject}
</select>

<!-- 查找指定 ID 的学生 -->
<select id="findStudentById" parameterType="long" resultMap="studentResultMap">
SELECT <include refid="student_or_teacher_columns"/>
FROM clazz_student cs
LEFT JOIN clazz ON clazz.id = cs.clazz_id
LEFT JOIN clazz_teacher_subject cts ON cts.clazz_id = cs.clazz_id
LEFT JOIN user ON user.id = cs.student_id
WHERE cs.student_id = #{studentId}
</select>

<!--查询班级学生人数-->
<select id="findStudentCount" resultType="int">
SELECT count(*) FROM clazz_student WHERE clazz_student.clazz_id = #{clazzId}
</select>

<!-- 启用或禁用老师 -->
<update id="enableTeacher">
UPDATE clazz_teacher_subject SET is_enabled=#{enabled} WHERE teacher_id=#{teacherId};
UPDATE user SET is_enabled=#{enabled} WHERE id=#{teacherId};
</update>

<!-- 启用或禁用学生 -->
<update id="enableStudent">
UPDATE clazz_student SET is_enabled=#{enabled} WHERE student_id=#{studentId};
UPDATE user SET is_enabled=#{enabled} WHERE id=#{studentId};
</update>

<!-- 删除老师 -->
<delete id="deleteTeacher">
DELETE FROM user WHERE id = #{teacherId};
DELETE FROM clazz_teacher_subject WHERE teacher_id = #{teacherId};
</delete>

<!-- 删除学生 -->
<delete id="deleteStudent">
DELETE FROM user WHERE id = #{studentId};
DELETE FROM clazz_student WHERE student_id = #{studentId};
</delete>

<!-- 插入或更新已有班级 -->
<insert id="insertOrUpdateClazz" parameterType="Clazz">
INSERT INTO clazz (id, school_id, code, name, phase, grade, type, enrollment_year, graduation_year, created_time)
VALUES (#{id}, #{schoolId}, #{code}, #{name}, #{phase}, #{grade}, #{type}, #{enrollmentYear}, #{graduationYear}, now())

ON DUPLICATE KEY
UPDATE name = #{name}, phase = #{phase}, grade = #{grade}, type = #{type},
enrollment_year = #{enrollmentYear}, graduation_year = #{graduationYear}
</insert>

<!-- 插入班级学生关系 -->
<insert id="insertClazzStudent">
INSERT INTO clazz_student (school_id, clazz_code, student_username, created_time)
SELECT #{schoolId}, #{clazzCode}, #{studentUsername}, now()
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM clazz_student
WHERE school_id = #{schoolId} AND clazz_code = #{clazzCode} AND student_username = #{studentUsername}
)
</insert>

<!-- 插入班级老师学科关系 -->
<insert id="insertClazzTeacherSubject">
INSERT INTO clazz_teacher_subject (school_id, clazz_code, teacher_username, subject, created_time)
SELECT #{schoolId}, #{clazzCode}, #{teacherUsername}, #{subject}, now()
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM clazz_teacher_subject
WHERE school_id = #{schoolId} AND clazz_code = #{clazzCode} AND teacher_username = #{teacherUsername} AND subject = #{subject}
)
</insert>
...
```
2018-11-09 10:33:42 +08:00
回复了 ethan5 创建的主题 MacBook Pro 想如手 MBP,大佬们给点意见,买什么配置的呢
我 MBP 2015 15 寸低配 8G 内存的都还在搞开发, Java Web (项目中同时跑 10 个左右的支持软件: Tomcat, Nginx, ZooKeeper, ActiveMQ, MySQL, MongoDB, LibreOffice, FFmpeg, Redis, ElasticSearch), Qt 等 (当然还开着 IDEA, Atom , QQ, 微信等 10 几个其他软件), 性能都没问题, 感觉你不必买配置很高的.
2018-11-04 17:36:59 +08:00
回复了 blackccc 创建的主题 程序员 程序员买什么笔记本好?最近刚好想换电脑
联系美国做活动 6 折不允许中国人买, 看过小米的, 感觉小米游戏本不错啊.
2018-11-04 16:45:03 +08:00
回复了 jorneyr 创建的主题 Apple 2013 年的 15 寸最低配 MBP 安装了 Mojave
@jerain 系统设置 -> Accisibility -> Mouse & Trackpad -> Trackpad Options 里设置一下
2018-11-04 13:18:34 +08:00
回复了 cc959798 创建的主题 程序员 请问大的互联网研发岗位一般背景调查都调查些什么?
一般都是简单打电话问下前同事你说的是不是真的, 只会简单的了解下, 例如是否在这里工作, 平时表现怎么样, 性格怎么样, 和其他同事闹不闹矛盾等, 都是些日常的问题, 不会问薪资待遇.
2018-11-02 09:15:19 +08:00
回复了 szhshp 创建的主题 程序员 你们见过最狗屎的架构是什么样的
PPT 架构师, 君子动口不动手
2018-10-30 15:00:18 +08:00
回复了 Ginray 创建的主题 macOS MAC 下有什么能够转换文件编码的文本编辑器吗?类似于 Notepad++
iconv 命令转一下, 还可以批量转呢
2018-10-24 10:22:10 +08:00
回复了 xinhangliu 创建的主题 程序员 我为什么开始使用 Firefox
最喜欢的还是 Safari, 在 Mac 上的体验不是 Chrome 和 Firefox 能比的
2018-10-23 09:08:55 +08:00
回复了 xmd19970616 创建的主题 macOS 2018 mac 下有没有推荐的类似 xshell 软件 包括 xshell
iTerm 加上 profile 自动登录 ssh 很舒服 https://qtdebug.com/mac-iterm-ssh/
2018-10-15 14:28:18 +08:00
回复了 EvilCult 创建的主题 程序员 求指导一下 Atom 的设置.
试试 editorconfig 这个插件
2018-10-09 08:56:49 +08:00
回复了 klii 创建的主题 git gitbook 是不是改版了?
我们是 node 安装 gitbook,然后本地写
2018-10-09 08:54:38 +08:00
回复了 DongDongXie 创建的主题 Linux 关于 Linux nohup 指令
终端不要直接关闭,要用 exit 命令退出
2018-09-29 09:20:08 +08:00
回复了 usedname 创建的主题 全球工单系统 请问京东你们这是想干嘛?
@EarthChild 强哥不是脸盲么
2018-09-25 10:34:56 +08:00
回复了 yidinghe 创建的主题 程序员 大龄程序员:你的经验对得起你的年龄吗?
我 80 岁的时候不逆天你们就要喷死我么
2018-09-16 10:06:27 +08:00
回复了 Creolophus 创建的主题 Apple Mojave Safari Extension 还能装第三方的嘛
我写的插件 iDragger 一直没放商店,以后自己用也要放商店了么。
2018-09-11 14:55:06 +08:00
回复了 bsg1992 创建的主题 程序员 我想知道为啥 Java 语言为什么怎么混乱
Java 的枚举使用的是 flyweight 设计模式,是个对象池,你心目中的枚举是什么样的呢?
1 ... 71  72  73  74  75  76  77  78  79  80 ... 83  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3065 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 48ms · UTC 12:19 · PVG 20:19 · LAX 05:19 · JFK 08:19
Developed with CodeLauncher
♥ Do have faith in what you're doing.