Java爱好者 - 专注于Java技术Java爱好者 - 专注于Java技术

MyBatis框架来查询数据库数据应用(MyBatis框架的配置)

什么是MyBatis,能帮助我们JAVA开发什么?

在写这个配置教程前,大家也必须了解他,为了不占用这教程的开头部分,你们可以参考下面连接。

什么MyBatis框架?官方下载地址

 

今天写的应用是查询Blog数据库的数据。

应用到的工具是 eclipse  mysql5.7  Navicat Premium

mybatis-3.4.4.zip   mysql-connector-java-5.1.42-bin (附带下载连接)

下面正式开始了!

1.数据库建立

首先安装好mysql5.7,打开Navicat Premium连接mysql 建立我们需要的数据如下

然后添加一行数据

 

2.新建一个项目

点击 > File > New > Dynamic Web Project

让我们用SpringMVC来写第一个helloworld(SpringMVC如何配置)

 

 

这样我们Dynamic Web Project就建立好了。

 

3.添加支持库

添加/MyBatis/WebContent/WEB-INF/lib/mybatis-3.4.4.jar

/MyBatis/WebContent/WEB-INF/lib/mysql-connector-java-5.1.42-bin.jar

 

mybatis-3.4.4.zip   mysql-connector-java-5.1.42-bin (附带下载连接)

解压获得如下的jar包

 

如图,是不是很简单就2个包,一个是mysql数据库连接用的,一个是mybatis的。放进路径他会自动添加支持。

 

万一放错了,就自己

选中lib里的java包 properties(或者 右键-> build path->add to build path

让我们用SpringMVC来写第一个helloworld(SpringMVC如何配置)

继续看下一页,重点开始了!

4.配置web.xml 

其实不用配置默认

 

 

5. 配置mybatis-config.xml  注意看细节

路径:在src下

[code]

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- jdbc:mysql://localhost:3306/blog?useSSL=false 问号后面的别忘记写 -->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/blog?useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>

<!--
重点的地方 这个配置的路径一定写
-->
<mappers>
<mapper resource="Blog_UserMapper.xml"/>
</mappers>
</configuration>

[/code]

附图

标签含义:

<configuration>:声明在标签里面的信息是配置信息

<environment>:声明环境变量

<transactionManager>:声明事务管理器      它的类型(type)有:JDBC(基于jdbc的事务) 还有 MANAGED(托管的事务)

<dataSource>:声明数据源,数据源的类型有NOPOOLED ,POOLED ,JIDN

<property>:jdbc连接的一些属性

<mappers>:声明我们定义的一个个Mapper类,或者说是关联

<mapper>:声明Mapper的路径

大致就这样了。

 

6.配置Blog_UserMapper.xml

(这个名字是自定义的,配置也是最重要的,要呼应上面

mybatis-config.xml中写的,这里也是最重要的数据库语句写的地方了,有详细的标注,也建议对应你写的对象取名。)

路径:在src下

[code]

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cc.javar.example.BlogMapper">
<!--
namespace:名称空间 绑定接口的情况就写接口路径(这里没写接口随便取)
id:唯一标识  绑定接口的情况一定要跟方法名一样
resultType:返回值类型
#{id} 从传递过来的参数 中取出ID值 这里我们的是uid
-->
<select id="selectBlog_User" resultType="cc.javar.mybatis.bean.Blog_User">
select * from blog_user where uid = #{uid}
<!-- 也可以用这个方案 select uid,username,userpassword,uname,gender,email from blog_user where uid = #{uid}
假如你的对象属性跟数据库不一样也是有替代方案,比如数据库里是uid 你属性写的是id,你可以这样写
也可以用这个方案 select uid id,username,userpassword,uname,gender,email from blog_user where uid = #{uid}
好了 其他自己琢磨
-->
</select>
</mapper>

[/code]

附图

这里写的就是查询blog_user数据表的所有内容,也可以按解释的方法写,这里可是非常重要的地方一定要理解!

继续下一页内容

7.编写我们的Java对象 cc.javar.mybatis.bean.Blog_User

[code]

package cc.javar.mybatis.bean;

public class Blog_User {
private Integer uid;//id
private String username;//帐号
private String userpassword;//密码
private String uname;//名字
private char gender;//性别 1男 0女
private String email;//邮箱

public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpassword() {
return userpassword;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "Blog_User [uid=" + uid + ", username=" + username + ", userpassword=" + userpassword + ", uname="
+ uname + ", gender=" + gender + ", email=" + email + "]";
}
}

[/code]

这类就是我们的对象用户属性,一定要对应数据库的属性,一定要一样,也方便记忆。

8.写测试类 cc.javar.mybatis.bean.test.MyBatisTest

[code]

package cc.javar.mybatis.bean.test;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import cc.javar.mybatis.bean.Blog_User;

public class MyBatisTest {
/**
* 1根据Xml配置文件(全局配置文件)创建一个sqlSessionFactory对象
* 2使用sqlSession工厂,获取sqlSession对象使用他来执行 增删改查
* 3运行一次sqlSession 就是对数据库的一次增删改查,用完一定要关闭
* @throws IOException
*/
@Test
public void test() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//获取sqlsession实例,可以直接执行已经映射的SQL语句
SqlSession session = sqlSessionFactory.openSession();
try {
//session.selectOne(SQL的唯一标识(这里可以用namespace+id,也是建议这么写如下显示),执行SQL要用的uid参数)
Blog_User user = session.selectOne("cc.javar.example.BlogMapper.selectBlog_User", 1);
//在打印看看获取的值
System.out.println(user);
} finally {
//这个一定要关掉
session.close();
}
}

}

[/code]

 

这里记得用配置 JUnit4测试单元建立,首先肯定要配置JUnit4。

JUnit4单元测试框架开启的教程

 

到此为止都完成了

 

结构图

那就用JUnit4测试 运行

cc.javar.mybatis.bean.test.MyBatisTest的方法text()

 

结果如下

好了数据已经获取到了,步骤就到此,我们也完整的用面对对象方法获取了数据库的内容,目的是让你们了解mybatis如何配置的!

完全不理解?摸不到头脑?确实简单的截图步骤是让你无法理解 所以准备了完整源码包和数据库包参考吧!

MyBatis配置方案下载

 

 

现在spring的配置和springmvc的配置与mybatis配置都写好了,下回就讲SSM整合教程。

 

 

 

 

 

 

 

 

 

本原创文章未经允许不得转载 | 当前页面:Java爱好者 - 专注于Java技术 » MyBatis框架来查询数据库数据应用(MyBatis框架的配置)

评论

文章评论已关闭!