首页
赞助
时间轴
追番
留言
友人帐
关于
个人导航
更多
学习笔记
壁纸
Search
1
【台式机】2020-06-07,上半年618推荐配置(都是AMD)
953 阅读
2
21年下半年笔记本挑选
918 阅读
3
域名备案成功
789 阅读
4
2020.10 手机号码正则表达式
730 阅读
5
Mybatis缓存
695 阅读
日常
代码
❤心情
博客插件
电脑推荐
KMS服务
登录
Search
标签搜索
电脑推荐
组装电脑
博客插件
跨域访问错误
Maven
Mybatis
node.js
WebSocket
SpringBoot
Linux
跨域
网页背景效果
音乐播放器
看板娘
Pio插件问题
气泡通知
轻薄本
全能本
笔记本推荐
伪静态
旧梦未眠
累计撰写
71
篇文章
累计收到
13
条评论
今日撰写
0
篇文章
首页
栏目
日常
代码
❤心情
博客插件
电脑推荐
KMS服务
页面
赞助
时间轴
追番
留言
友人帐
关于
个人导航
学习笔记
壁纸
用户登录
登录
搜索到
33
篇与
的结果
2020-05-01
Mybaits一对多处理。
一对多:比如:一个老师拥有多个学生!对于老师而言,就是一对多的关系!上一节,多对一地址:点击访问数据库(和上一篇Mybatis多对一的处理一样)CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8; INSERT INTO teacher(`id`, `name`) VALUES (1, '庞老师'); CREATE TABLE `student` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, `tid` INT(10) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fktid` (`tid`), CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8; INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('1', '小明', '1'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('2', '小红', '1'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('3', '小张', '1'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('4', '小李', '1'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('5', '小王', '1'); 实体类(省略了构造函数、Setter/Getter)//Teacher类 public class Teacher { private int id; private String name; //一个老师拥有多个学生 private List<Student> students; } //Student类 public class Student { private int id; private String name; private int tid; } TeacherMapper接口(interface)//获取指定老师下的所有学生以及老师的信息 Teacher getTeacher(@Param("tid") int id); Teacher getTeacher2(@Param("tid") int id); 按照查询嵌套处理<select id="getTeacher2" resultMap="TeacherStudent2"> select * from mybatis.teacher where id = #{tid} </select> <resultMap id="TeacherStudent2" type="Teacher"> <collection property="students" javaType="ArrayList" ofType="Student" select="getStudentByTeacherId" column="id"/> </resultMap> <select id="getStudentByTeacherId" resultType="Student"> select * from mybatis.student where tid = #{tid} </select> 按照结果嵌套处理<!--按结果嵌套查询--> <select id="getTeacher" resultMap="TeacherStudent"> select s.id sid,s.name sname,t.name tname,t.id tid from student s,teacher t where s.tid = t.id and t.id = #{tid} </select> <resultMap id="TeacherStudent" type="Teacher"> <result property="id" column="tid"/> <result property="name" column="tname"/> <!--复杂的属性 对象:association 集合:collection 集合中的泛型信息,使用ofType获取 --> <collection property="students" ofType="Student"> <result property="id" column="sid"/> <result property="name" column="sname"/> <result property="tid" column="tid"/> </collection> </resultMap> 测试类@Test public void getTeacher(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class); Teacher teacher = mapper.getTeacher(1); System.out.println(teacher); sqlSession.close(); } @Test public void getTeacher2(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class); Teacher teacher = mapper.getTeacher2(1); System.out.println(teacher); sqlSession.close(); }
2020年05月01日
518 阅读
0 评论
0 点赞
2020-05-01
Mybatis多对一处理。
多对一:多个学生对应一个老师对于学生而言,关联 多个学生,关联一个老师【多对一】对于老师而言, 一个老师,有很多学生【一对多】数据库CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8; INSERT INTO teacher(`id`, `name`) VALUES (1, '庞老师'); CREATE TABLE `student` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, `tid` INT(10) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fktid` (`tid`), CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8; INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('1', '小明', '1'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('2', '小红', '1'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('3', '小张', '1'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('4', '小李', '1'); INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('5', '小王', '1'); Student类 (省略了构造函数、Setter/Getter)public class Student { private int id; private String name; //学生需要关联一个老师 private Teacher teacher; } Teacher类 (省略了构造函数、Setter/Getter)public class Teacher { private int id; private String name; } 测试环境搭建新建实体类Teacher,Student建立Mapper接口建立Mapper.xml文件【在Resources目录下需要一级一级建立文件夹】在核心配置中绑定注册我们的Mapper接口或者文件测试查询是否能成功StudentMapper接口(interface)//查询所有学生信息,以及对于的老师的信息 public List<Student> getStudent(); // public List<Student> getStudent2(); 按照查询嵌套处理思路:1.查询所有的学生信息2.根据查询出来的学生的tid,寻找对应的老师 子查询<select id="getStudent" resultMap="StudentTeacher"> select * from student </select> <resultMap id="StudentTeacher" type="Student"> <result property="id" column="id"/> <result property="name" column="name"/> <!--复杂的属性 对象:association 集合:collection --> <association property="teacher" column="tid" javaType="Teacher" select="getTeacher"/> </resultMap> <select id="getTeacher" resultType="Teacher"> select * from teacher where id = #{id} </select> 按照结果嵌套处理<!--按照结果处理--> <select id="getStudent2" resultMap="StudentTeacher2"> select s.id sid,s.name sname,t.name tname from student s,teacher t where s.tid = t.id; </select> <resultMap id="StudentTeacher2" type="Student"> <result property="id" column="sid"/> <result property="name" column="sname"/> <association property="teacher" javaType="Teacher"> <result property="name" column="tname"/> </association> </resultMap> 测试代码@Test public void getStudent(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); List<Student> studentList = mapper.getStudent(); for (Student student : studentList) { System.out.println(student); } sqlSession.close(); } @Test public void getStudent2(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); List<Student> studentList = mapper.getStudent2(); for (Student student : studentList) { System.out.println(student); } sqlSession.close(); } 多对一掌握了?那么可以下一课了,来看看一对多吧!点击访问
2020年05月01日
440 阅读
0 评论
0 点赞
2020-04-23
Maven+Mybatis入门问题-无法编译java目录下的xml文件
初学maven+Mybatis的时候,把Mapper.xml放到了dao包下,编译的时候target目录下不会编译在java项目中的xml。解决方法在pom.xml中加入<!-- build中配置resources,来防止我们资源导出失败的问题 --> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> </resources> </build> 最后clean一下,就行。Q&A我在自学的时候,加了这个也没用,试了很多方法。比如:xml删除中文注释,build中加入resources目录之类,都没用。最后关机睡觉,第二天打开就突然可以了。配置了buil的同学如果还没用,建议关闭idea重新打开试试。
2020年04月23日
422 阅读
0 评论
0 点赞
2020-04-21
搭建自己SSR(科学上网)教程
第一步:服务器国外(美国、香港)之类的都可以。第二步:安装1.第一条命令wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh 2.上面的命令执行结束后,执行下面的命令chmod +x shadowsocks-all.sh 3.上面的命令执行结束后,执行下面的命令./shadowsocks-all.sh 2>&1| tee shadowsocks-all.log 4.执行上述命令会有相关输入提示操作;根据需要选择。不明白的话就直接选1或者直接默认回车;之后会提示你输入密码和端口,对应设置即可,或者直接使用默认的;由于 iPhone端的wingy目前只支持到cfb,所以加密方式选择aes-256-cfb也就是选择7;全部执行完成之后就会出现如下信息:StartingShadowsocks success Congratulations, Shadowsocks-Python server install completed! YourServer IP : 你的IP YourServerPort: 在第四步提示设置的端口号 YourPassword: 在第四步提示设置的密码 YourEncryptionMethod: aes-256-cfb Your QR Code: (ForShadowsocksWindows, OSX, Androidand iOS clients) ss://YWVzLTI1Ni1jZmI6emh1aTA4MTA0MTJaaaccuMjmmLjU1LjE5MTo4tdVg4 Your QR Code has been saved as a PNG file path: /root/shadowsocks_python_qr.png Welcome to visit: https://teddysun.com/486.html Enjoy it! 第三步:SSR小飞机Windows:https://github.com/shadowsocks/shadowsocks-windows/releasesMac:https://github.com/yangfeicheung/Shadowsocks-X/releasesAndroid:https://github.com/shadowsocks/shadowsocks-android/releasesiPhone:App Store上下载ShadowLink,这个要用国外appid才可以下载哦。国内的搜不到的,因为shadowrocket收费的参考文章:点击访问
2020年04月21日
545 阅读
0 评论
0 点赞
2020-04-16
canvas-nest.js-一个基于 html5 canvas 绘制的网页背景效果
canvas-nest.js一个基于 html5 canvas 绘制的网页背景效果。使用快捷使用将下面的代码插入到 和 之间.强烈建议在 标签上方. 例如下面的代码结构 ... ... ... <script type="text/javascript" src="dist/canvas-nest.js"></script> 配置color: 线条颜色, 默认: '0,0,0' ;三个数字分别为(R,G,B),注意用,分割pointColor: 交点颜色, 默认: '0,0,0' ;三个数字分别为(R,G,B),注意用,分割opacity: 线条透明度(0~1), 默认: 0.5count: 线条的总数量, 默认: 150zIndex: 背景的z-index属性,css属性用于控制所在层的位置, 默认: -1Typecho使用在有主题的情况下,将代码添加至底部自定义内容即可<script type="text/javascript" color="255,20,147" opacity='0.8' zIndex="-1" count="500" src="https://cdn.bootcss.com/canvas-nest.js/2.0.4/canvas-nest.js"></script> 下载Github官网:canvas-nest.js外链CDN:cdn
2020年04月16日
526 阅读
0 评论
0 点赞
1
...
4
5
6
7