2011-03-10 13 views
7

Şu anda bir Java istemci erişim ve veri tabanını kullanarak kurmak MySQL veritabanı var. Bazı eylemlerin veritabanının çeşitli kullanıcılarına izin verilip verilmediğini belirlemek için veritabanında bir Boole veri türüne ihtiyacım var. Boolean veri türü olmadığından, MySQL'de kullanabileceğiniz en iyi Boolean uygulaması hangisidir?veritabanına bağlanmak için Java kullanarak MySQL boole'ye yönelik en iyi uygulama nedir?

Ben TinyIntsetByte(int parameterIndex, byte x ile PreparedStatement ile kullanılabilir biliyorum ve ben de Bit de setBoolean(int parameterIndex, boolean x) ile kullanılabilir biliyoruz. Bunlardan hangisi bir Boole değeri için daha iyi bir çözümdür? Ve daha iyi bir çözüm varsa, ne olurdu?

cevap

6

MySQL BooleanTINYINT(1) eşanlamlıdır; Bit da, bit sayısı yeterince küçük ise. MySQL işleminin bakış açısından, kullandığınız küçük bir fark yaratır. "Daha iyi" ile ne demek istiyorsun?

+0

Daha iyi demek istediğim, Java'yı istemci olarak kullanırken genellikle uygulamak veya kullanmak daha kolay olduğu anlamına mı geliyor? – LOD121

1

JDBC'nin setBoolean'u kullanarak MySQL'in BOOL adresini adresleyemediğinizi varsayarak yapabilirsiniz. Bunun gibi, en iyi seçenek BOOL olarak sütununu beyan ve setBoolean kullanmaktır. MySQL, beyanınızı bir TINYINT'a taklit etse de, SQL'iniz ne kullanmak istediğinizi bildirir ve Java kodunuz da bu seviyede açık hale getirir.

+0

böylece resultSet.getBoolean (colunmn) çalışacak? –

+0

@sheldonCooper, Kontrol etmedim, ama evet, bellekten. –