scme-mysql高级综合测试_MyBatis基础——MyBatis初探——MyBatis快速学习

一、Mybatis介绍:

MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。(简单的说:替代jdbc,使数据持久化)

二、Mybatis——jar包:

三、代码结构图及详解:

71d071be5dab009ed2f81ea803d25043.png

注:UserMapper.java为自定义接口

UserMapper.xml为自定义接口对应的映射文件(两个名字必须相同)

Test为测试类,WEB应用可以直接在Servlet中调用方法

User为实体类

UserService为封装的操作类,便于开发项目,调用方法

SqlFactory为工具类,读取mybatis配置文件

connection.xml为mybatis配置文件,主要写连接数据库的代码和引入映射文件的代码

四、代码展示:

4.1  SQL代码:

CREATE TABLE`users` (

`id`int(11) NOT NULLAUTO_INCREMENT,

`name`varchar(20) DEFAULT NULL,

`age`int(11) DEFAULT NULL,PRIMARY KEY(`id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;INSERT INTO `users` VALUES ('1', '张三', '27');INSERT INTO `users` VALUES ('2', '李四', '27');

4.2  connection.xml代码:

4.3  SqlFactory代码:

packagecom.scme.utils;importjava.io.IOException;importjava.io.InputStream;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importcom.scme.dao.UserMapper;public classSqlFactory {private staticSqlSessionFactory sqlSessionFactory;static{//mybatis的配置文件的名字

String fileName="connection.xml";//使用输入流读取mybatis的配置文件(它也加载关联的映射文件)

InputStream inputStream;try{

inputStream=Resources.getResourceAsStream(fileName);

sqlSessionFactory=newSqlSessionFactoryBuilder().build(inputStream);

}catch(IOException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}//返回sqlSessionFactory对象

public staticSqlSessionFactory getSqlSessionFactory() {returnsqlSessionFactory;

}

}

4.4  UserMapper.java代码:

packagecom.scme.dao;importjava.util.List;importcom.scme.pojo.User;public interfaceUserMapper {//根据id查询

public List queryById(intid);

}

4.5  UserMapper.xml代码:

select * from users where id=#{id}

4.6  UserService代码:

packagecom.scme.service;importjava.util.List;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importcom.scme.dao.UserMapper;importcom.scme.pojo.User;importcom.scme.utils.SqlFactory;public classUserService {//获取SqlSessionFactory对象

privateSqlSessionFactory sqlSessionFactory;publicUserService() {

sqlSessionFactory=SqlFactory.getSqlSessionFactory();

}//封装queryByID方法

public List queryByID(intid){//创建能执行映射文件中sql的sqlSession

SqlSession sqlSession =sqlSessionFactory.openSession();//获取定义查询方法的接口

UserMapper userDao=sqlSession.getMapper(UserMapper.class);//调用根据id查询方法//虽然在userMapping.xml里面,resultType="com.scme.pojo.User",即返回值类型为User对象,但这里可以用list泛型集合接收

List list=userDao.queryById(id);

sqlSession.close();returnlist;

}

}

4.7  User代码:

packagecom.scme.pojo;public classUser {//实体类的属性和表的字段名称一一对应

private intid;privateString name;private intage;public intgetId() {returnid;

}public void setId(intid) {this.id =id;

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}public intgetAge() {returnage;

}public void setAge(intage) {this.age =age;

}publicString toString() {return "User [id=" + id + ", name=" + name + ", age=" + age + "]";

}

}

4.8  Test代码:

packagecom.scme.lunch;importjava.util.List;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importcom.scme.pojo.User;importcom.scme.service.UserService;importcom.scme.utils.SqlFactory;public classTest {public static voidmain(String[] args) {

UserService service=newUserService();

List list=service.queryByID(1);

System.out.println(list.get(0));

}

}

五、效果展示:

b729edb9269802b21b68363a899a2876.png

如有帮助,请关注!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值