Nutz学习---连接操作数据库入门例子

**本例子简单说明**


通过C3P0Util工具类得到数据库连接,然后创建一个Person实体,最后在PersonTest中利用nutz测试数据添加功能

**项目结构图**

Nutz学习---连接操作数据库入门例子_第1张图片

**开始项目**

导入相关jar包

c3p0-0.9.1.2.jar
mysql-connector-java-5.0.8-bin.jar
nutz-1.b.50.jar

创建数据库连接工具类

C3P0Util.java
c3p0-config.xml

**c3p0-config.xml代码如下:**


<c3p0-config>
    <default-config>
        <property name="driverClass">com.mysql.jdbc.Driverproperty>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/nutzproperty>
        <property name="user">rootproperty>
        <property name="password">rootproperty>

        <property name="acquireIncrement">5property>
        <property name="initialPoolSize">10property>
        <property name="minPoolSize">5property>
        <property name="maxPoolSize">20property>
    default-config>

c3p0-config>

**C3P0Util.java代码如下:**

package utils;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class C3P0Util {

    private static DataSource ds = new ComboPooledDataSource();

    public static DataSource getDataSource() {
        return ds;
    }

    /**
     * 用于从池中获取连接
     * 
     * @return
     */
    public static synchronized Connection getConneciton() {
        try {
            return ds.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }

    // 关闭资源
    public static void release(ResultSet rs, Statement st, Connection con) {
        try {
            if (rs != null) {
                rs.close();
                rs = null;// 目的是让回收器立即进行垃圾回收
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            if (st != null) {
                st.close();
                st = null;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            if (con != null) {
                con.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
}

创建实体类

Person.java

**Person.java代码如下:**

package com.zzh.demo.Person;

import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Id;
import org.nutz.dao.entity.annotation.Name;
import org.nutz.dao.entity.annotation.Table;

@Table("t_person")
// 生命了Person对象的数据表
public class Person {// 无需继承任何Nuts的类
    @Id
    // 表示该字段为一个自增长的Id,是数据库表中自增!!
    private int id;

    @Name
    // 表示该字段可以用来标识此对象,或者是字符型主键,或者是唯一性的约束
    private String name;
    @Column
    // 表示该对象属性可以映射到数据库里作为一个字段
    private int age;

    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;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

测试类

PersonTest.java


package test;
**PersonTest.java的代码如下:**

import org.nutz.dao.Dao;
import org.nutz.dao.impl.NutDao;

import utils.C3P0Util;

import com.zzh.demo.Person.Person;

public class PersonTest {

    public static void main(String[] args) {
        Dao dao = new NutDao(C3P0Util.getDataSource());
        Person p = new Person();
        p.setName("张三");
        p.setAge(22);
        dao.insert(p);
    }
}

**其实Nutz也实现不少数据库链接的方法**
感兴趣的,猛踩这里
[Nutz](http://www.nutzam.com/ "Nutz官网")

你可能感兴趣的:(nutz学习)