MyBatis连接Oracle方法记录 合并Maven的配置

之前一直学的稀里糊涂的,今天从头开始配置Maven写

下载Maven,自个儿百度

下载后解压,我将解压后的文件夹放在自定义一个文件夹

下一步就是配置系统环境变量:变量名:MAVEN_HOME 变量值:(直接找到路径拷进去)

配置path:(变量值就是到bin目录的路径)

打开windows DOS窗口,键入命令 mvn -v   用来检验Windows是否成功配置Maven

在Maven中,有本地仓库与远程仓库的位置,Maven要导入jar包首先在本地仓库中查找是否有需要的该jar包,如果没有,便从远程仓库中下载该资源到本地仓库,Maven默认本地仓库目录路径中可能有空格问题,所以这里我们重新配置本地仓库,远程仓库由于防火墙的原因,会导致无下载速度,下载失败,所以我们也重新配置一下远程仓库,示例远程仓库为阿里Maven 方法如下:

(1)找一个不带空格或汉字的路径地址下创建一个文件夹,这里我起名为

(2)在Maven的conf目录下找到settings.xml文件,打开并编辑(原先是有很多注释的,我给删掉了)

一号为配置的本地仓库

二号为配置的远程仓库

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
	<localRepository>C:\Maven\maven-repository</localRepository>
	<pluginGroups></pluginGroups>
	<proxies></proxies>
	<servers></servers>
	<mirrors>
		<mirror>
			<id>alimaven</id>
			<name>aliyun maven</name>
			<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
			<mirrorOf>central</mirrorOf> 
		</mirror>
	</mirrors>
	<profiles></profiles>
</settings>

修改好保存之后进入WINDOWS DOS 界面,键入mvn help:system 命令,重新将maven的本地仓库配置文件等下载到我们自己设置的本地仓库中

到此为止Maven就完美了,可是我们的myeclipse中还需要配置一下:

Window----Preferences---- (搜索maven)---installations---add(添加Maven目录)

Window----Preferences---- (搜索maven)---User Settings---browser(修改好Maven的settings.xml的目录)-----点击"Update Settings" 

最后点击apply  就保存成功了!

--------------------------------------------------------开发分割线------------------------------------------------------------------------------

首先感谢yuehailin大佬的教程https://blog.csdn.net/yuehailin/article/details/79038332,本文就是根据此文章进行开发的

在数据库中创建测试表并插入几条数据

创建一个普通的Maven工程,上本项目目录:

先导入jar包(这里我并没有把整页代码贴上来,就贴了需要的部分代码)

有junit(单元测试),mybatis,hamcrest(配合4.1版本以上的Junit使用,否则报错),slf4j(日志记录),log4j(日志记录)

其实还应该导入ojdbc的jar包,但是我多次导入失败了,无奈只好手动导入(拉进去一个odbc6的jar包,然后在其上右键add bulids就OK了)

  <dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.3.0</version>
		</dependency>
		<dependency>
    	<groupId>org.hamcrest</groupId>
    		<artifactId>hamcrest-core</artifactId>
    		<version>1.3</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.12</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.7.12</version>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
	</dependencies>

 

创建实体类User,(私有变量为数据库表中的字段,字段类型要一致),然后自动构建get(),set()

package entity;

public class User {
	private int id;
	private String code;
	private String name;
	
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

配置log4j  创建log4j.porperties文件(内容是我从其他工程拷的,不懂这个哈哈哈)

#设置级别和目的地
log4j.rootLogger=error,appender1,appender2

#输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#设置输出样式
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
#自定义样式
# %r 时间 0
# %t 方法名 main
# %p 优先级 DEBUG/INFO/ERROR
# %c 所属类的全名(包括包名)
# %l 发生的位置,在某个类的某行
# %m 输出代码中指定的讯息,如log(message)中的message
# %n 输出一个换行符号
log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n

#输出到文件(这里默认为追加方式)
#org.apache.log4j.ConsoleAppender(控制台),
#org.apache.log4j.FileAppender(文件),
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
log4j.appender.appender2=org.apache.log4j.DailyRollingFileAppender
#设置文件输出路径
#【1】文本文件
log4j.appender.appender2.File=../logs/log/log.log
#设置文件输出样式
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=[%d{HH\:mm\:ss\:SSS}][%C-%M] -%m%n

配置SQL(我的个人理解):创建UserMapper.xml   其中namespace为该文件的目录,这里我是放在根上的  id后面要用到,最好起一个恰当的名字  resultType是User,我就只有一个User实体类,别的也装不了

<?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="UserMapper">
	<select id="selectAll" resultType="User">
		select id,code,name from stg.users
	</select>
</mapper>

配置连接参数等:创建mybatis-conf.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>
<!-- log4j -->
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>
    
    <!-- 实体类所在的包名 -->
     <typeAliases>
        <package name="entity"/>
    </typeAliases>
 
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC">
                <property name="" value=""/>
            </transactionManager>
            <dataSource type="UNPOOLED">
                <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
                <property name="url" value="jdbc:oracle:thin:@10.135.17.124:1521/edwdev"/>
                <property name="username" value="ods"/>
                <property name="password" value="ods123"/>
            </dataSource>
        </environment>
    </environments>
 
    <mappers>
        <mapper resource="UserMapper.xml"/>
    </mappers>
</configuration>

最后写个测试类测试一下吧!:创建UserMapperTest.java

其中main方法先调用init方法再调用test方法,希望大佬帮忙详细讲解一下!我只能了解大概!

package test;

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.BeforeClass;
import org.junit.Test;
import entity.User;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
 
public class UserMapperTest {
	
	private static SqlSessionFactory sqlSessionFactory;
	//在类中只运行一次,必须声明成public static
	@BeforeClass
	public static void init(){
		try {
			//读取这个文件
            Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
            //通过读取到的文件数据  new SQL映射工厂
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
            reader.close();
        } catch (IOException e) {
        	e.printStackTrace();
        }
	}
	
	@Test
	public void testSelectAll(){
		//获取SQL映射
		SqlSession sqlSession = sqlSessionFactory.openSession();
		try {
			List<User> userList = sqlSession.selectList("selectAll");
			//调用遍历
			printUserList(userList);
		} finally {
			sqlSession.close();
		}
	}
	//这个方法可以传入列表,遍历列表,然后获得数据
	private void printUserList(List<User> userList){
		for(User user : userList){
			System.out.println("数据是:"+user.getId()+user.getName()+user.getCode());
		}
	}
	//main 方法
	public static void main(String[] args) {
		UserMapperTest.init();
 
		UserMapperTest umt =new UserMapperTest();
		umt.testSelectAll();
 
	}
 
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaEE是一种用于开发企业级应用程序的Java平台。MyBatis是一种持久层框架,它可以与JavaEE一起使用来连接数据库。Oracle是一种关系型数据库管理系统。 在JavaEE中使用MyBatis连接Oracle数据库的步骤如下: 1. 首先,确保你已经安装了Java Development Kit(JDK)和Oracle数据库,并且已经设置好了相应的环境变量。 2. 在你的JavaEE项目中,添加MyBatis的依赖。你可以在项目的构建文件(如Maven的pom.xml)中添加以下依赖项: ```xml <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.x.x</version> </dependency> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>19.3.0.0</version> </dependency> ``` 请注意,ojdbc8是Oracle提供的JDBC驱动程序,版本号根据你的实际情况进行调整。 3. 创建一个MyBatis配置文件(通常命名为mybatis-config.xml),配置数据库连接信息和其他相关配置。以下是一个示例配置文件的内容: ```xml <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.driver.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:ORCL"/> <property name="username" value="your_username"/> <property name="password" value="your_password"/> </dataSource> </environment> </environments> <mappers> <!-- 添加你的Mapper接口 --> </mappers> </configuration> ``` 请将上述配置中的数据库连接信息(如URL、用户名和密码)替换为你自己的实际信息。 4. 创建一个Mapper接口,用于定义数据库操作的方法。例如,你可以创建一个UserMapper接口,其中包含查询用户信息的方法。 ```java public interface UserMapper { User getUserById(int id); // 其他数据库操作方法... } ``` 5. 创建一个Mapper XML文件,用于编写SQL语句和映射规则。例如,你可以创建一个userMapper.xml文件,其中包含查询用户信息的SQL语句和结果映射规则。 ```xml <mapper namespace="com.example.mapper.UserMapper"> <select id="getUserById" resultType="com.example.model.User"> SELECT * FROM users WHERE id = #{id} </select> <!-- 其他SQL语句和映射规则... --> </mapper> ``` 请注意,上述示例中的com.example.mapper.UserMapper和com.example.model.User需要根据你的实际情况进行替换。 6. 在你的Java代码中,使用MyBatis的SqlSessionFactory和SqlSession来执行数据库操作。以下是一个示例代码: ```java String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); try (SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); User user = userMapper.getUserById(1); // 处理查询结果... } ``` 请注意,上述示例中的getUserById方法是UserMapper接口中定义的方法。 以上是使用MyBatis连接Oracle数据库的基本步骤。你可以根据实际需求进行配置和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值