mybatis编写一个查询数据库表的程序
2017-11-27 18:00
330 查看
首先创建数据库的配置文件和对象的映射配置信息:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<!-- 配置JDBC事务控制,由mybatis进行管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源,采用mybatis连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/spring"/>
<property name="username" value="root" />
<property name="password" value="123" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="sqlMap/User.xml"/>
</mappers>
</configuration>
创建一个 po 类的配置文件,用来接收查询结果集,(由于查询结果包括数据库表里面的好多字段,因此需要用一个对象来对其进行接收,并用于后来的输出)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
<select id="findUserById" parameterType="int" resultType="com.mx.dao.user">
select * from user where id =#{id}
</select>
</mapper>
创建po 类:
package com.mx.dao;
public class user {
private int id;
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Override
public String toString() {
return "user [id=" + id + ", name=" + name + ", password=" + password + "]";
}
}
主程序:
package com.mx.demo_01;
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 com.mx.dao.user;
public class myBatis_demo_01 {
//根据id 查询用户信息,得到一条记录结果
public static void main(String[]args) throws IOException{
// mybatis 配置文件
String resource = "SqlMapConfig.xml";
//得到配置文件流
InputStream is = Resources.getResourceAsStream(resource);
//创建回话工厂,传入 mybatis 的配置文件信息
SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(is);
//通过工厂得到 sqlSession
SqlSession sqlSession = sf.openSession();
//通过sqlSession 操作数据库,第一个参数:映射文件中的 statement的 ID,其值为:namespace+"."+statement的 ID
//第二个参数:指定和映射文件中所匹配的 parameterType 类型的参数
// sqlSession.selectOne 的结果是与映射文件中所匹配的 resultType 类型的对象
user user = sqlSession.selectOne("test.findUserById", 1);
System.out.println(user);
sqlSession.close();
}
}
项目框架如下图:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<!-- 配置JDBC事务控制,由mybatis进行管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源,采用mybatis连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/spring"/>
<property name="username" value="root" />
<property name="password" value="123" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="sqlMap/User.xml"/>
</mappers>
</configuration>
创建一个 po 类的配置文件,用来接收查询结果集,(由于查询结果包括数据库表里面的好多字段,因此需要用一个对象来对其进行接收,并用于后来的输出)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
<select id="findUserById" parameterType="int" resultType="com.mx.dao.user">
select * from user where id =#{id}
</select>
</mapper>
创建po 类:
package com.mx.dao;
public class user {
private int id;
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Override
public String toString() {
return "user [id=" + id + ", name=" + name + ", password=" + password + "]";
}
}
主程序:
package com.mx.demo_01;
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 com.mx.dao.user;
public class myBatis_demo_01 {
//根据id 查询用户信息,得到一条记录结果
public static void main(String[]args) throws IOException{
// mybatis 配置文件
String resource = "SqlMapConfig.xml";
//得到配置文件流
InputStream is = Resources.getResourceAsStream(resource);
//创建回话工厂,传入 mybatis 的配置文件信息
SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(is);
//通过工厂得到 sqlSession
SqlSession sqlSession = sf.openSession();
//通过sqlSession 操作数据库,第一个参数:映射文件中的 statement的 ID,其值为:namespace+"."+statement的 ID
//第二个参数:指定和映射文件中所匹配的 parameterType 类型的参数
// sqlSession.selectOne 的结果是与映射文件中所匹配的 resultType 类型的对象
user user = sqlSession.selectOne("test.findUserById", 1);
System.out.println(user);
sqlSession.close();
}
}
项目框架如下图:
相关文章推荐
- 自己编写的一个程序:读取XML格式的日志文件,并以一定的数据写入数据库中
- (JDBC)利用Java反射编写一个万能的数据库表查询方法
- c++编写一个简单的数据库程序
- MyBatis中的数据库动态查询的编写
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 编写程序,用if else语句根据姓名查询teaching数据库中学生的基本信息和选课信息,学生姓名通过变量输入。不存在则输出提示信息
- 菜鸟的 PHP 学习之路(三):一个简单的连接数据库并查询的小程序(1)
- 利用case的穿透现象编写一个查询季节的程序(处女作O(∩_∩)O哈哈~)
- 编写一个C#Windows服务程序,定时从数据库中拿出记录发送邮件。
- 编写一个Windows服务程序,定时从数据库中拿出记录发送邮件
- 用java编写一个创建数据库和表的程序
- 一个显示地图数据,并实现简单浏览查询程序源码(SDK编写)
- 利用struts2,mybatis,spring,三大框架写的一个简单的查询程序
- 利用switch语句编写一个程序,把用数字表示的成绩转化为字母表示的等级。连续查询50次结束
- 最近设计了一个生成asp代码的程序,同时也可以作为数据库管理查询的软件,发两张图,等完全做好了,给大家共享!
- 写了一个查询数据库的程序,不熟的Tomcat6。查询条件为英文时运行正常,为中文时出现乱码。后在tomcap的server.xml中加入useBodyEncodingForURI="true解决了问题
- 最近设计了一个生成asp代码的程序,同时也可以作为数据库管理查询的软件,有兴趣的朋友可以去下载!
- 一个用mysql_odbc和php写的serach数据库程序
- 编写一个基本的Android程序
- 编写一个C程序,它能读入一个正整数n(09时用ABCD…Z补