欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何通过mybatis+GBase8s jdbc实现GBase8s数据库操作

程序员文章站 2022-07-01 07:55:09
...

mybatis是一款在持久层使用的SQL映射框架,可以将SQL语句单独写在XML配置文件中,或者使用带有注解的Mapper映射类来完成数据库记录到Java实体的映射。它支持定制化SQL、存储过程及高级映射。MyBatis框架是对JDBC轻量级的封装,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
本文通过实例介绍如何通过mybatis中间件实现连接GBase8s数据库,实现数据查询与添加过程。

1、首先,工程中引入mybatis包文件,以及GBase8s驱动程序。
如何通过mybatis+GBase8s jdbc实现GBase8s数据库操作

2、配置mybatis-config.xml文件

<?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>
	<properties>
		<property name="username" value="gbase" />
		<property name="password" value="*********" />
	</properties>
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="false" />
		<setting name="logImpl" value="STDOUT_LOGGING" />
	</settings>
	<typeAliases>
		<typeAlias type="model.SysUser" alias="SysUser" />
		<typeAlias type="model.User" alias="User" />
		<typeAlias type="model.Role" alias="Role" />
	</typeAliases>
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC"></transactionManager>
			<dataSource type="POOLED">
				<property name="driver" value="com.gbase.jdbc.Driver" />				
				<property name="url"
					value="jdbc:gbasedbt-sqli://127.0.0.1:5555/test:GBASEDBTSERVER=ol_gbasedbt1210_2;" />
				<property name="username" value="${username}" />
				<property name="password" value="${password}" />
				
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<mapper resource="mapper/UserMapper.xml" />
	</mappers>
</configuration>

【配置dataSource数据源】
1)url属性,配置为GBase8s连接地址。
格式如:
jdbc:gbasedbt-sqli://ip:port/test:GBASEDBTSERVER=实例名;
其中jdbc:gbasedbt-sqli:为协议名称,
IP:数据库服务器ip地址
port:数据库服务器 端口地址
GBASEDBTSERVER字段表示内容为GBase8s实例名称。
2) username属性,为GBase8s数据库用户名
3) password属性,为GBase8s数据库密码
【配置Mapping文件】
mapper/UserMapper.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="demo.IUserOperation">
	<select id="query" parameterType="int" resultMap="syncUser">
		select
		company_id ,office_id
		from user where id=#{id}
	</select>
	<insert id="insertUser" parameterType="User">
		INSERT INTO USER
		(id,company_id,office_id)
		VALUES (#{id}, #{role.company}, #{role.office})
	</insert>
	<select id="find" resultMap="syncUser">
		select * from user
		<where>
			<foreach collection="ids" open=" and id in(" close=")" item="id"
				separator=",">
				#{id}
			</foreach>
		</where>
	</select>
	<resultMap id="syncUser" type="User">
		<result property="company_id" column="company_id" />
		<result property="office_id" column="office_id" />
	</resultMap>
</mapper>

3、配置实体类

package demo;
import java.util.List;
import model.User;
public interface IUserOperation {	
	public int insertUser(User User);	
	public User query(int id);	
	public List<User> find(User User);		
}

4、执行用例
1)查询GBase8s数据表–获取指定用户信息

public void getUser(){
		SqlSession session = MybatisUtils.getSqlSession();
		IUserOperation vOperation = session.getMapper(IUserOperation.class);
		User u = vOperation.query(1);
		MybatisUtils.closeSession(session);
	}

2)插入GBase8s数据表–新建用户

public void insertUser(){
		int recordCount = 0;
		SqlSession session = MybatisUtils.getSqlSession();
		IUserOperation vOperation = session.getMapper(IUserOperation.class);
		User u = new User();
		u.setCompany_id("test");
		u.setOffice_id("test");
		recordCount += vOperation.insertUser(u); 
		session.commit();
		session.close();
		System.out.print(recordCount);
	}

通过以上步骤实现通过Mybatis中间件,插入查询数据。