Rumah >Java >javaTutorial >Menganalisis cara mengkonfigurasi sambungan pangkalan data dalam MyBatis
Penjelasan terperinci tentang langkah-langkah sambungan pangkalan data konfigurasi MyBatis, contoh kod khusus diperlukan
MyBatis ialah rangka kerja lapisan kegigihan sumber terbuka yang popular, digunakan secara meluas dalam pembangunan Java. Apabila menggunakan MyBatis untuk operasi pangkalan data, anda perlu mengkonfigurasi sambungan pangkalan data terlebih dahulu. Artikel ini akan memperkenalkan secara terperinci cara mengkonfigurasi sambungan pangkalan data MyBatis, dan melampirkan contoh kod tertentu.
1. Tambahkan tanggungan
Pertama, tambahkan tanggungan MyBatis pada projek anda. Anda boleh menambah kandungan berikut pada fail pom.xml projek:
<dependencies> <!-- MyBatis依赖 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <!-- 数据库驱动依赖,根据你使用的数据库类型选择对应的驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> </dependencies>
Di sini kami mengambil pangkalan data MySQL sebagai contoh, menggunakan pemacu rasmi MySQL mysql-connector-java.
2. Cipta pangkalan data
Sebelum mengkonfigurasi MyBatis, anda perlu mencipta pangkalan data dan jadual yang sepadan. Anda boleh menggunakan baris arahan MySQL atau alatan visual untuk mencipta pangkalan data, seperti:
CREATE DATABASE mybatis_demo; USE mybatis_demo; CREATE TABLE user ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT );
3. Konfigurasikan MyBatis
Buat fail konfigurasi bernama mybatis-config.xml
dalam projek untuk mengkonfigurasi sambungan pangkalan data. Secara amnya, fail ini terletak dalam direktori src/main/resources
projek. mybatis-config.xml
的配置文件,用于配置数据库连接。一般情况下,该文件位于项目的src/main/resources
目录下。
<?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"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <!-- 数据库驱动类名 --> <property name="driver" value="com.mysql.cj.jdbc.Driver" /> <!-- 数据库连接URL --> <property name="url" value="jdbc:mysql://localhost:3306/mybatis_demo?useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2B8" /> <!-- 数据库用户名 --> <property name="username" value="root" /> <!-- 数据库密码 --> <property name="password" value="root" /> </dataSource> </environment> </environments> <!-- 映射器配置,用于定义SQL语句和Java类之间的映射关系 --> <mappers> <!-- 可以配置多个映射器,这里以Mapper接口为例 --> <mapper resource="com/example/mapper/UserMapper.xml" /> </mappers> </configuration>
配置中的<environment></environment>
标签用于指定数据库连接环境,可以配置多个数据库连接环境,这里使用了默认的development
环境。在<datasource></datasource>
标签中,使用了POOLED
类型的数据源,表示使用连接池来管理数据库连接。
四、创建Mapper接口
在com.example.mapper
包下创建一个名为UserMapper.java
的接口文件,用于定义SQL语句和Java类之间的映射关系。
public interface UserMapper { // 查询所有用户 List<User> getAllUsers(); // 根据ID查询用户 User getUserById(int id); // 插入用户 void insertUser(User user); // 更新用户 void updateUser(User user); // 删除用户 void deleteUser(int id); }
在该接口中定义了一些常用的数据库操作方法,可以根据实际需求进行扩展。
五、创建Mapper XML文件
在com.example.mapper
包下创建一个名为UserMapper.xml
的XML文件,用于编写SQL语句和映射规则。
<?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.example.mapper.UserMapper"> <!-- 查询所有用户 --> <select id="getAllUsers" resultType="com.example.model.User"> SELECT * FROM user </select> <!-- 根据ID查询用户 --> <select id="getUserById" parameterType="int" resultType="com.example.model.User"> SELECT * FROM user WHERE id = #{id} </select> <!-- 插入用户 --> <insert id="insertUser" parameterType="com.example.model.User"> INSERT INTO user (name, age) VALUES (#{name}, #{age}) </insert> <!-- 更新用户 --> <update id="updateUser" parameterType="com.example.model.User"> UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id} </update> <!-- 删除用户 --> <delete id="deleteUser" parameterType="int"> DELETE FROM user WHERE id = #{id} </delete> </mapper>
在该XML文件中,使用了namespace
属性指定了Mapper接口的全限定名,如果Mapper接口和XML文件位于不同的包下,需要正确配置namespace
。
六、使用MyBatis进行数据库操作
在Java代码中使用MyBatis进行数据库操作,需要先创建一个SqlSessionFactory
对象,然后通过该对象创建一个SqlSession
对象,并利用SqlSession
对象执行数据库操作。
public class App { public static void main(String[] args) { // 创建MyBatis配置文件的输入流 InputStream inputStream = App.class.getResourceAsStream("/mybatis-config.xml"); // 创建SqlSessionFactory对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); // 创建SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); try { // 获取UserMapper对象 UserMapper userMapper = sqlSession.getMapper(UserMapper.class); // 调用数据库操作方法 List<User> users = userMapper.getAllUsers(); System.out.println(users); } finally { // 关闭SqlSession sqlSession.close(); } } }
以上代码示例中,通过getResourceAsStream
方法获取了MyBatis配置文件的输入流,然后创建了SqlSessionFactory
对象。接着,通过openSession
方法创建了一个SqlSession
对象,在getMapper
方法中传入了UserMapper.class
,返回一个代理对象,可以通过该对象调用定义在UserMapper
rrreee
<environment></environment>
dalam konfigurasi digunakan untuk menentukan persekitaran sambungan pangkalan data berbilang boleh dikonfigurasikan Persekitaran development
lalai digunakan di sini . Dalam teg <datasource></datasource>
, sumber data jenis POOLED
digunakan, menunjukkan bahawa kumpulan sambungan digunakan untuk mengurus sambungan pangkalan data. 4 Cipta antara muka Mapper 🎜🎜Buat fail antara muka bernama UserMapper.java
di bawah pakej com.example.mapper
untuk mentakrifkan pernyataan SQL dan perhubungan pemetaan kelas Java di antara mereka . 🎜rrreee🎜 Mentakrifkan beberapa kaedah operasi pangkalan data biasa dalam antara muka ini, yang boleh dikembangkan mengikut keperluan sebenar. 🎜🎜5. Cipta fail XML Mapper🎜🎜Buat fail XML bernama UserMapper.xml
di bawah pakej com.example.mapper
untuk menulis penyata SQL dan peraturan pemetaan. 🎜rrreee🎜Dalam fail XML ini, atribut namespace
digunakan untuk menentukan nama yang layak sepenuhnya bagi antara muka Mapper Jika antara muka Mapper dan fail XML terletak dalam pakej yang berbeza, namespace perlu dikonfigurasikan dengan betul. 🎜🎜6 Gunakan MyBatis untuk operasi pangkalan data🎜🎜Untuk menggunakan MyBatis untuk operasi pangkalan data dalam kod Java, anda perlu mencipta objek <code>SqlSessionFactory
dahulu, dan kemudian mencipta objek SqlSession
melalui objek ini, dan gunakan objek SqlSession
untuk melaksanakan operasi pangkalan data. 🎜rrreee🎜Dalam contoh kod di atas, aliran input fail konfigurasi MyBatis diperoleh melalui kaedah getResourceAsStream
, dan kemudian objek SqlSessionFactory
dicipta. Seterusnya, objek SqlSession
dibuat melalui kaedah openSession
dan UserMapper.class
dihantar dalam kaedah getMapper
. Mengembalikan objek proksi melalui kaedah yang ditakrifkan dalam antara muka UserMapper
boleh dipanggil. 🎜🎜Setakat ini, kami telah memperkenalkan secara terperinci langkah-langkah untuk mengkonfigurasi sambungan pangkalan data dalam MyBatis, dan melampirkan contoh kod khusus. Saya harap artikel ini dapat membantu anda memahami dan menggunakan MyBatis. 🎜Atas ialah kandungan terperinci Menganalisis cara mengkonfigurasi sambungan pangkalan data dalam MyBatis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!