java|初识mybatis,第一个简单的mybatis项目
声明:I‘m 初学者,这是我对mybytis的初步认识
这是一个简单的不能再简单的初级Mybatis项目,它可以使我们连接数据库更加容易,思路更加清晰。我这里用一个图来解释一下:
文章图片
开始创建这个项目:
文章图片
这是我项目中用的数据库,数据库名是store,表名person,属性如图
1.创建一个java项目
2.在项目中新建一个文件夹lib
3.把连接mysql的jar包和mybatis包放进去bulidpath一下
文章图片
4.创建包目录如下
文章图片
这里com.dongline.mybatistest包存放的java代码,
config存放的全局配置文件和映射文件
5.在config下创建全局配置文件mybatisconfig.xml
其中的内容是
代码很多,信息量很大,但大多都是模版代码。
这里我关注的是dataSource
标签property代表的是属性。这里我们就能和以前Dao原始开发方式有点关联了。driver,url username,password属性就是以前我们初始化连接对象所用到的。
这里只需要把value值设置成自己数据库对应的值即可。
6.创建Person类
package com.dongline.mybatistest; public class Person {String personname; String persongpassword; int persongid; String personmail; @Override public String toString() { return "Person [personname=" + personname + ", persongpassword=" + persongpassword + ", persongid=" + persongid + ", personmail=" + personmail + "]"; } public String getPersonname() { return personname; } public void setPersonname(String personname) { this.personname = personname; } public String getPersongpassword() { return persongpassword; } public void setPersongpassword(String persongpassword) { this.persongpassword = persongpassword; } public int getPersongid() { return persongid; } public void setPersongid(int persongid) { this.persongid = persongid; } public String getPersonmail() { return personmail; } public void setPersonmail(String personmail) { this.personmail = personmail; } }
这里就是数据库中person表对应的Person类。它是数据库数据和java数据之间传递的载体。
7.在config文件夹添加person.xml映射文件
其中内容为
我们关注的是mapper标签namespace是我们自己设置的,为了避免工程中引用引起同名冲突,就像c++中的namespace一样。
mapper标签下可以配置我们的数据库增删改查逻辑这里我就不一一展示,我以查询为例
然后是一个select标签
这里id是我们调用这个select的唯一标识。
resultTpye是这个查询语句结果所对应的单个对象类型(当查询结果为List时每个结果的类型)
parameterType是输入类型我们看到sql语句中的personname=#{id} #{id}所对应的类型
其中#{}代表一个输入参数(是防sql注入的)
这里的输入和输出类型如果不是java简单类型都要加上包名。输入类型和输出类型都可以是我们自己创建的pojo
也就是我们sql和java 数据传递的载体
8.
我们映射文件配置好了但是没有与jdbc关联,这里就需要mybatis来关联我们的映射文件
在全局配置文件中添加
就实现了映射文件的配置
mappers可以添加多个mapper那就意味着可以用这一个配置文件关联多个映射文件
9.用mybatis来实现查询数据库
在com.dongline.mybatistest下新建一个测试类Test.java
package com.dongline.mybatistest; import java.io.IOException; import java.io.InputStream; import javax.annotation.Resource; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class Test {public static void main(String[] args) throws Exception {String resource="config/mybatisconfig.xml"; InputStream in= Resources.getResourceAsStream(resource); SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(in); SqlSession session=factory.openSession(); Person person=session.selectOne("test.findPersonByName","dong"); System.out.println(person);
session.close();
} }
这里通过Resources.getResourceAsStream(resource)获取resource输入流
再获取SqlSessionFactory,这个是会话工厂。
建立我们的会话 session,
通过会话session中的增删改查关联我们映射文件中配置的id就能调用我们的sql语句了。
执行结果如下
文章图片
第一次写blog有什么不足请大家指出。
【java|初识mybatis,第一个简单的mybatis项目】转载于:https://www.cnblogs.com/dongline/p/9650931.html
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- mybatisplus|mybatisplus where QueryWrapper加括号嵌套查询方式
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一