package com.jiamigu;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import com.baomidou.mybatisplus.core.MybatisSqlSessionFactoryBuilder;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jiamigu.domain.Student;
import com.jiamigu.mapper.StudentMapper;
import com.jiamigu.vo.StudentExamVO;
/**
* 在J2SE项目中如何集成和使用MyBatisplus操作数据库,简化开发提高效率
* 事例:
* 1、通过xml进行数据库连接的配置:连接数据源、驼峰命名、输出SQL日志;
* 2、添加学生信息;
* 3、更新学生信息;
* 4、条件查询学生信息;
* 5、删除学生信息;
* 6、多表关联查询学生考试成绩;
* 7、分页查询学生信息
*
* @author 甲米谷
* 2023年9月24日 上午9:52:01
*
*/
public class MyBatisPlusDemo {
public static void main(String[] args) throws IOException {
//读取mybatis的核心配置文件mybatis-config.xml
InputStream inputStream = Resources.getResourceAsStream("mybatisplus-config.xml");
//创建SqlSessionFactoryBuilder对象
SqlSessionFactory sqlSessionFactory = new MybatisSqlSessionFactoryBuilder().build(inputStream);
//通过SqlSessionFactory对象创建SqlSession对象,参数true事务自动提交
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//通过sqlSession获取Mapper,然后调用selectStudentByName方法进行查询
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
List<Student> stus = studentMapper.selectStudentByName("张三");
System.out.println("查询结果:" + stus.toString());
//可以直接调用基类Mapper的API,进行查询(根据主键查询)
Long id = 1000L;
Student student = studentMapper.selectById(id);
if(student == null){
student = new Student();
//添加学生
student.setId(id);
student.setStuName("周八");
student.setAge(25);
student.setDeleted(false);
//调用自定义的插入方法
studentMapper.insertStudent(student); //也可以直接调用基类Mapper的API:studentMapper.insert(student),进行插入数据
//查询
stus = studentMapper.selectStudentByName("周八");
System.out.println("新增查询结果:" + stus.toString());
} else {
System.out.println("查询结果:" + student.toString());
}
//调用自定义的更新方法,修改周八的年龄
student.setAge(18);
studentMapper.updateStudent(student); //也可以直接调用基类Mapper的API:studentMapper.updateById(student),根据ID更新数据
student = studentMapper.selectById(id);
System.out.println("更新的结果:" + student.toString());
//删除学生,直接调用基类Mapper的API:,进行物理删除
studentMapper.deleteById(student);
student = studentMapper.selectById(id);
if(student == null){
System.out.println("周八已删除,未查找到");
}
//多表关联查询学生考试成绩
List<StudentExamVO> studentExamVOs = studentMapper.selectStudentExam(null);
System.out.println("多表关联查询结果:" + studentExamVOs.toString());
//分页查询,从第一页开始查询,每页显示3条数据
Page<StudentExamVO> page = new Page<StudentExamVO>(1, 3);
Page<StudentExamVO> studentExamPage = studentMapper.selectStudentExamPage(page, null);
System.out.println("分页查询-总页数:" + studentExamPage.getPages() + "页 结果:" + studentExamPage.getRecords().toString());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
























收起资源包目录





























共 17 条
- 1
资源评论


甲米谷
- 粉丝: 0
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 电子商务专业人才培养方案终稿.doc
- 计算机辅助教学在小学数学中的运用.docx
- 校长(含副校长)绩效考核指标要点.doc
- 装饰施工企业信息技术开发与应用.doc
- 场所语境--中山岐江公园的再认识.doc
- (基于PLC控制的工件搬运机械手设计)周进展情况记录.doc
- DH-ZW-12彩印车间主任职位说明书.doc
- 国内外有关中药中重金属和砷盐的限量标准及分析.doc
- 城市综合管廊工程投资估算指标主要内容.pdf
- 砌石工程施工工艺流程图.doc
- 电子商务网站建设实习报告.doc
- 工程施工现场常见安全隐患及整改实例(附案例).pptx
- 滨海产权式商业项目管理全程策划.doc
- 建设工程经济课件第七章.ppt
- 组回力营销策划方案.docx
- STM32WL培训_STM32WL新产品介绍及市场策略.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
