mybatis编写一个查询数据库表的程序
程序员文章站
2024-03-08 16:46:34
...
首先创建数据库的配置文件和对象的映射配置信息:
<?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();
}
}
项目框架如下图:
推荐阅读
-
mybatis编写一个查询数据库表的程序
-
数据库查询-编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary)
-
java编写创建数据库和表的程序
-
SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
-
查询一个数据库中的所有表_MySQL
-
SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
-
SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
-
查询Oracle 数据库中带有lob字段的某一个表的大小
-
SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
-
同一个数据库中的两个表的查询,该如何解决