文章目录
MyBatis整合Greenplum
- MyBatis整合Greenplumde的过程几乎和MySql一样,不需要做什么代码上的调整,下面是全部代码示例
一、示例
1.1 POM依赖
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.45</version>
</dependency>
<!-- 单元测试相关依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.2.RELEASE</version>
<scope>test</scope>
</dependency>
<!-- 日志相关依赖 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.10</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.2</version>
</dependency>
<!--postgresql驱动 -->
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3-1101-jdbc41</version>
</dependency>
<!-- mybatis相关依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<!-- 简化set get方法 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
1.2 postgresql-config.xml配置文件
//路径在resource/mybatis/postgresql-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>
<typeAliases>
<package name="com.intellif.mozping.entity"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="org.postgresql.Driver"/>
<property name="url" value="jdbc:postgresql://192.168.13.51:5432/db1"/>
<property name="username" value="gpadmin"/>
<property name="password" value="gpadmin"/>
</dataSource>
</environment>
</environments>
<!-- 映射文件,mapper的配置文件 -->
<mappers>
<!--直接映射到相应的mapper文件 -->
<mapper resource="mybatis/mapper/UserMapper.xml"/>
</mappers>
</configuration>
1.3 映射文件Mapper.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="com.intellif.mozping.dao.UserMapper">
<insert id="addUser" parameterType="com.intellif.mozping.entity.User">
insert into public.usertest (uname) values (#{uname})
</insert>
</mapper>
1.4 Java类和接口
public interface UserMapper {
int addUser(User people);
}
public class User {
private int id;
private String uname;
//get set方法
}
1.5 建表语句
CREATE TABLE "public"."usertest" (
"id" int4 DEFAULT nextval('usertest_id_seq'::regclass) NOT NULL,
"uname" varchar(50)
)
WITH (OIDS=FALSE);
1.6 测试代码
public class Test01 {
private static final String CONFIG_FILE_PATH = "mybatis/postgresql-config.xml";
@Test
public void add() {
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSessionFactoryInstaceByConfig(CONFIG_FILE_PATH).openSession();
User user = new User();
user.setUname("testName");
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
int rowAffected = userMapper.addUser(user);
//int rowAffected = userMapper.addUserGetId(user);
System.out.println("The rows be affected :" + rowAffected);
System.out.println("The primary key is:" + user.getId());
//显示提交事务
sqlSession.commit();
SqlSessionFactoryUtil.closeSession(sqlSession);
}
}
- 打印
The rows be affected :1
The primary key is:0
小结
-
几乎和MySql没有区别,只是主配置文件里面dataSource的驱动不一样